Mercurial development workflow

Thomas Arendsen Hein thomas at intevation.de
Mon Jul 30 15:07:40 CDT 2007


* Martin Geisler <mgeisler at mgeisler.net> [20070729 19:06]:
> "Benoit Boissinot" <bboissin at gmail.com> writes:
> > On 7/29/07, Martin Geisler <mgeisler at mgeisler.net> wrote:
> >> Is this done by having people push stable and safe changes to the
> >> {hg,crew}-stable repositories and then pulling these changes into
> >> {hg,crew} whereas more unsafe changes are made in the {hg,crew}
> >> repositories?
> >
> > Bugfixes only changes go to -stable, crew is maintained by various dev
> > (see http://www.selenic.com/mercurial/wiki/index.cgi/CrewRepository)
> > and Matt regularly pulls from it (resp. crew-stable to hg-stable and
> > crew to hg).
> 
> >> What if a change is made in hg and needs to be applied to hg-stable
> >> as well? Do you then manually apply the patch to hg-stable?
> >
> > Yes, but usually the fix goes to -stable directly and is then merged
> > back into the dev branch.
> 
> Okay, I can see that it makes sense, even though it was not how I
> would have expected it to work: my initial thinking was that one finds
> the bug at the tip, and fixes it there. Then one goes back and merges
> the fix into any stable releases where it makes sense.
> 
> From what I have read Mercurial does support pulling selected patches
> like that (cherry-picking?), and so I understand that one has to do it
> the other way around: fix the bug on the oldest stable release and
> merge the fix into the newer releases.

While usually all fixes go to -stable, sometimes there are
exceptions. Then we use the transplant extension (which basically
does hg export and import) to apply the fix to the stable tree,
immediately followed by pulling crew-stable into crew and merging.

3-way-merge will detect that the changes coming in via -stable are
already present in crew and so won't apply them again. Mercurial
itself doesn't know about this (except if the transplant extension
would be used for merging, but then you'd always have to use
transplant!).

Thomas

-- 
thomas at intevation.de - http://intevation.de/~thomas/ - OpenPGP key: 0x5816791A
Intevation GmbH, Osnabrueck - Register: Amtsgericht Osnabrueck, HR B 18998
Geschaeftsfuehrer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://selenic.com/pipermail/mercurial/attachments/20070730/ae08c623/attachment.pgp 


More information about the Mercurial mailing list