Prerequisite handling broken for git merge proposals

Bug #1489839 reported by Colin Watson
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Colin Watson
turnip
Fix Released
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

Revision history for this message
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)
Changed in turnip:
status: Triaged → In Progress
assignee: nobody → Colin Watson (cjwatson)
Colin Watson (cjwatson)
Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → In Progress
Colin Watson (cjwatson)
Changed in turnip:
status: In Progress → Fix Committed
Revision history for this message
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?

Revision history for this message
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.

Revision history for this message
Darren Hoyland (autonomouse) wrote :

That's great news, thanks.

Revision history for this message
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)
Changed in turnip:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
Colin Watson (cjwatson)
tags: added: qa-ok
removed: qa-needstesting
Colin Watson (cjwatson)
Changed in launchpad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.