[MERGE] Improved review process docs and separate out architectural overview

John Arbash Meinel john at arbash-meinel.com
Fri Sep 5 16:22:16 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Vincent Ladeuil wrote:
>>>>>> "martin" == Martin Pool <mbp at sourcefrog.net> writes:
> 
> <snip/>
>     martin> -TODO: Incorporate John Arbash Meinel's detailed email to Ian C on the
>     martin> -numerous ways of setting up integration branches.
>     >> 
>     >> Was this deletion intended ? If yes, do you still have a copy of
>     >> this mail ? ;)
> 
>     martin> I probably do but this comment didn't give me enough
>     martin> information to easily find it.  I don't think
>     martin> anything is particularly missing here - as far as I
>     martin> know you do the review either by reading the diff or
>     martin> trying the merge.  If someone wants to add it they
>     martin> can do that later.
> 
> Ok. I was hoping to find some tricks on how you guys set up a
> branch for review.
> 
> I do it that way:
> 
> #!/bin/sh -x
> BASE=~/src/bzr/reviews
> NICK=$1
> PATCH=$BASE/$NICK.patch
> # Bundles contain a line like:
> # base_revision_id: pqm at pqm.ubuntu.com-20080903083249-e76ygekseh1peidm
> REV_ID=`grep '^# base_revision_id: ' poolie-review-doc.patch | sed -e 's/^# base_revision_id: //'`
> cd $BASE
> bzr branch lp:bzr -r revid:$REV_ID $1
> cd $BASE/$1
> bzr pull $PATCH
> 
> 
> with PATH being the file I saved either from the mail or from BB.
> 
> By the way, why isn't the above integrated to bzr branch (in a
> more robust way, this quick-and-dirty script works only for
> patches against bzr.dev and because ~/src/bzr/.bzr is a shared
> repo) ?
> 
>    Vincent

Most of the time, I just review the patch as-is, without merging, etc.
When I need to do more, I usually do:

(optional) bzr update bzr.dev
cd jam-integration
bzr pull --overwrite ../bzr.dev # reset to tip
bzr merge ../foo.patch


Or as a third option:
bzr branch bzr.dev review
cd review
bzr pull --overwrite ../foo.patch

I don't see any need to do gymnastics with the base revision id. 'pull
- --overwrite' works just fine to give you a branch at the tip of the
merge directive.

Note: There is a very specific difference of this branch from the merge
directive. If the MD would try to be a 'cherrypick', then doing a 'pull'
creates a full branch, and merging it will do a full merge. I've
actually used this intentionally. Such as when a patch is not meant as a
cherrypick, but the merge-directive code thinks it is. (This normally
only happens when the target branch is not identical to what I'm using.)

John
=:->

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkjBTqgACgkQJdeBCYSNAANFCwCfRjNDR8v3A1RDsm8rYF6L/3S0
l8wAnRydUY/o5o9COIvAcxrP6/8j9fnI
=Sta/
-----END PGP SIGNATURE-----



More information about the bazaar mailing list