[Python-Dev] Hg: inter-branch workflow

Jesus Cea jcea at jcea.es
Thu Mar 17 13:35:50 CET 2011

Hash: SHA1

On 17/03/11 06:14, R. David Murray wrote:
> The fun part comes if there are changesets.  At this point there
> are two options: go through each of the branches doing an up/merge/ci,
> and then pull/push.  Or, what I actually do:
> hg log
> hg strip <the changeset id of my first checkin>
> Then I start from the top of the section above, but starting by reapplying
> my temp.patch.  There's one other detail, though:  because I'm using
> share, the checkouts lose their parent id when I do the strip.  So in
> each checkout I also need to do 'hg debugsetparent <branch>' before
> doing the hg up.
> Clearly, this procedure is not for everyone

Clearly not :).

So you do a "hg strip" and start over again.

The problem with this is that your patch will be applied on top of the
incoming changeset, and your merge will merge that patch too, if the
original pusher haven't done it yet.

Tonight I was thinking about doing a merge inside the branch, to solve
the "+1 branch". Something like transforming:

branch 3.2 -----My patch----incoming patch---
branch 3.x ----------------------------------


                    |                          |
                    |                          v
branch 3.2 -----My patch----incoming patch---merge---
branch 3.x --------merge------------------------

So I merge my patch to the other branches, preserving history and
keeping only a single head in the 3.2 branch, that the other developer
must merge to 3.x.

The bad thing about this is that the new head (the merge) will be
assigned to me, but the developer that must merge that head to 3.x is
the other guy.

The other committer could merge her changeset to 3.x and, if my merge
between the two heads is not trivial, she must notice it and do a second

- -- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea at jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the Python-Dev mailing list