Prerequisite handling broken for git merge proposals
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/
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/
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
- William Grant (community): Approve (code)
-
Diff: 141 lines (+68/-17)3 files modifiedturnip/api/store.py (+47/-16)
turnip/api/tests/test_api.py (+18/-0)
turnip/api/views.py (+3/-1)
- William Grant (community): Approve (code)
-
Diff: 111 lines (+35/-16)4 files modifiedlib/lp/code/browser/tests/test_branchmergeproposal.py (+24/-0)
lib/lp/code/model/diff.py (+5/-12)
lib/lp/code/model/githosting.py (+5/-3)
lib/lp/code/templates/branchmergeproposal-pagelet-summary.pt (+1/-1)
Changed in turnip: | |
status: | Triaged → In Progress |
assignee: | nobody → Colin Watson (cjwatson) |
Changed in launchpad: | |
assignee: | nobody → Colin Watson (cjwatson) |
status: | Triaged → In Progress |
Changed in turnip: | |
status: | In Progress → Fix Committed |
Changed in turnip: | |
status: | Fix Committed → Fix Released |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
Reproduced here:
https:/ /code.qastaging .launchpad. net/~cjwatson/ germinate/ +git/germinate/ +merge/ 254323 /code.qastaging .launchpad. net/~cjwatson/ germinate/ +git/germinate/ +merge/ 254324
https:/
There are two bugs. The first is a trivial template bug that causes the prerequisite field not to show up on BranchMergeProp osal:+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.