Patch Pilot Report 2011-03-07
Dave Walker
DaveWalker at ubuntu.com
Tue Mar 8 10:06:44 UTC 2011
On 08/03/11 02:45, Bryce Harrington wrote:
<SNIP>
> 719324: ubuntu-geoip - GET should be uppercase
> Already approved, uploaded and pushed to bzr trunk
>
<SNIP>
I starting reviewing this one the other day and left it as a "Comment"
rather than "Needs Fixing". The proposed branch (now merged) edits the
upstream code directly, but the package is of format 3.0 (quilt). I
admit I should have set a more appropriate review type. Additionally, I
commented that perhaps it should be contributed directly upstream
(particularly as it's a package native to Ubuntu), and has a Ubuntu
derived Vcs-* field defined in debian/control.
This means that the changes have been generated into an automagic patch
in debian/patches/debian-changes-0.0.2-0ubuntu5. Now we have a
situation where what is in the archive [0], doesn't match what is in the
UDD branch [1].
Last week, I had a similar situation where I dput'd and pushed to the
UDD bzr at the same time, and someone else uploaded the same version
bump around 10 minutes before me; causing mine to be rejected and theirs
was now already accepted.
I was worried about this, so James Westby kindly explained that a branch
mismatch between the archive and UDD should mean that the
package-importer uncommits, land the version from the archive and raises
a merge proposal for the delta (nice!), however there seems to be a bug
at the moment. Although, neither the Maintainer, Last Uploader or
Signer (sponsor) is made aware of it automagically.
Now, this is a tricky situation because we have three differing
branches. Those that normally upload this package are no doubt
expecting their Vcs-* branch to have trumps, so will continue committing
there. If they attempt to upload 0.0.2-0ubuntu4_0.0.2-0ubuntu5, they'll
become aware that there is a difference by their package being
rejected. However, if they were to upload a new upstream version, the
resolution that this bug was trying to address will be lost.
When I was reviewing this branch, I did try and reconcile the UDD
ancestor based merge proposal and the ~ubuntu-desktop one, but lack of
common ancestor and attempting to declare a base rev seemed to fail....
and for the small size of the patch, i gave up and suggested the merge
proposal author rebase against the Vcs-* branch. I was tempted to do
this myself setting the --author tag appropriately, but there is a fine
line between trying to be helpful (do the right thing), and doing too
much. Equally, I didn't feel comfortable committing to another teams
branch, as I have commit access to lp:~ubuntu-desktop/* through
inheritance of teams, rather than direct membership... which would mean
raising a new merge proposal... which takes the original author out of
the loop.
Another issue i'd like to raise that is related is UDD mismatches, there
is an example here - not a major one, but another minimal example is
[2]. A merge proposal author has gone to the effort of submitting code
based on a UDD branch, which is the wrong version as the package-import
failed; this means that somebody needs to reconcile the versions...
without a current UDD branch, this is near impossible - which means
reverting back to traditional development by creating a bzr based
debdiff to apply to the the flat source... meaning that UDD has not won
this situation.
I think what I am trying to raise, is some work flow process...
* With traditional development, we get a warning if we apt-get source
and a Vcs-* field is set, with UDD we do not.
* If the UDD branches have diverged or are out of date, the contributor
has no way on knowing without checking manually, via rmadison,
launchpad, etc. A contributor shouldn't have to do this manually, as
its' easily missed and very frustrating.
* Additionally, I when merge+commit someone elses branch - I feel really
rude making the bzr history look like it was my work.. Whilst I agree I
would be the "merge author" (as in the person that decided to do it), I
am not the person that did most of the work. It seems only appropriate
to set the --author tag appropriately and therefore bzr marking myself
as the committer for traceability. I wish debcommit had native support
for this, but instead of fixing this properly i've been lazy and written
a crappy script[3] to automate this, which i call debcommit-sponsor (not
really related to debcommit!)... bzr being awesome, pulls in the
changelog difference in $EDITOR.
[0]
http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/natty/ubuntu-geoip/natty/revision/6
[1]
http://launchpadlibrarian.net/65830157/ubuntu-geoip_0.0.2-0ubuntu4_0.0.2-0ubuntu5.diff.gz
[2]
https://code.launchpad.net/~jamesodhunt/ubuntu/natty/vim/add-upstart-syntax/+merge/52440
[3] http://pb.daviey.com/MWe4/
Kind Regards,
Dave Walker
More information about the ubuntu-devel
mailing list