Prerequisite handling broken for git merge proposals

Bug #1489839 reported by Colin Watson on 2015-08-28
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
High
Colin Watson
turnip
High
Colin Watson

Bug Description

(From a question filed by Darren Hoyland:)

I cannot seem to get code from a prerequisite repository/reference path to not show up in MP

I'm trying to merge 2 branches intomaster.

My origin master branch is at lp:~weebl-maintainers/weebl/+git/weebl/+ref/master (private repo)

The branches meanwhile live on another repo at lp:~autonomouse/weebl/+git/weebl/
so I've got lp:~autonomouse/weebl/+git/weebl/+ref/branch/one
and lp:~autonomouse/weebl/+git/weebl/+ref/branch/two

As branch/two is based on top of branch/one, I want to make a merge proposal that shows a diff that ignores any changes already included in branch/one. For bzr, you can do this with prerequisite branches, so I assumed you could do the same with the prerequisite branches on git.

So I make the MP for the branch/one as usual, and then when I come to make the MP for branch/two, I click on the extra options bit and add ~autonomouse/weebl/+git/weebl to the prerequisite repository and branch/one to the prerequisite reference path.

However, when I do this, the changes from branch/one are still included in the MP for branch/two.

Can you tell me where I'm going wrong?

Thanks

Related branches

Colin Watson (cjwatson) wrote :

Reproduced here:

  https://code.qastaging.launchpad.net/~cjwatson/germinate/+git/germinate/+merge/254323
  https://code.qastaging.launchpad.net/~cjwatson/germinate/+git/germinate/+merge/254324

There are two bugs. The first is a trivial template bug that causes the prerequisite field not to show up on BranchMergeProposal:+index; this is only cosmetic in that it's still there in the database, but it's certainly confusing. The second is that the git hosting backend doesn't yet support merge comparison with a prerequisite, and this needs to be fixed and deployed before we can change Launchpad to make use of it.

description: updated
Changed in launchpad:
status: New → Triaged
importance: Undecided → High
Changed in turnip:
status: New → Triaged
importance: Undecided → High
tags: added: code-review git
Colin Watson (cjwatson) on 2015-08-28
Changed in turnip:
status: Triaged → In Progress
assignee: nobody → Colin Watson (cjwatson)
Colin Watson (cjwatson) on 2015-08-28
Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → In Progress
Colin Watson (cjwatson) on 2015-09-07
Changed in turnip:
status: In Progress → Fix Committed
Darren Hoyland (autonomouse) wrote :

Sorry to nag, but it's been 2 and a half months since a fix committed was made (although I'm not sure what turnip is), but we are still unable to use prerequisite branches - just wondering if there is any update on this issue?

Colin Watson (cjwatson) wrote :

I know, sorry for the delay! This has been because our current deployment strategy for the git backend (a.k.a. turnip) is very cumbersome. I've been working on a complete revamp of that (https://code.launchpad.net/~cjwatson/canonical-mojo-specs/git-build-label/+merge/275472) and hope to get that rolled out this week, at which point we can land the final bit of this in the Launchpad webapp.

Darren Hoyland (autonomouse) wrote :

That's great news, thanks.

Darren Hoyland (autonomouse) wrote :

Also, I'm not sure where the "2 and a half months" figure came from. I think I meant "nearly 2 months" :-)

Colin Watson (cjwatson) on 2015-11-12
Changed in turnip:
status: Fix Committed → Fix Released
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Colin Watson (cjwatson) on 2015-11-12
tags: added: qa-ok
removed: qa-needstesting
Colin Watson (cjwatson) on 2015-11-13
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers