First, incomplete, but promising stab at converting pbranch scenarios to "changeset evolution"

Pierre-Yves David pierre-yves.david at logilab.fr
Thu Sep 1 04:06:05 CDT 2011


On Wed, Aug 31, 2011 at 03:48:01PM +0200, Peter Arrenbrecht wrote:

> >> Transcript:
> >>
> >> idank: parren: I've been messing around with this test
> >> http://paste.pocoo.org/show/464860/
> >> idank: it looks like there are several things we can do, not sure what's right
> >> idank: basically the end result needs to be a merge of 3 and 5 which
> >> will be a new version of patchA
> >> idank: (we can't merge 6 and 4)
> >> parren: idank: Heh, that's what I'm thinking about.
> >> parren: So merging 4 and 6 is going to conflict on a, which merging 3
> >> and 5 will not, is that it?
> >> idank: yeah, that's what happened when I tried that
> >> parren: idank: This is annoying. It's going to get rather complicated
> >> when both do multiple amends before we merge.
> >> idank: both as in someone and a collaborator?
> >
> > In such case we need merge plumbery to performe a merge between the two conflicting changeset (4 and 6) using their *evolution* common ancestor (1) as base. I'm not sure how this is complicated.
> 
> Because of:
> 
> >> parren: So merging 4 and 6 is going to conflict on a, which merging 3
> >> and 5 will not, is that it?

Not if you use (1) are common ancestor of 4 and 6. After discussion with Idank
the simplest way seems to make mercurial consider "evolution" relation as "real
ancestors" relation during such "evol-merge". This way we'll get a simple
standard merge of difference between 4 and 6 from 1.


-- 
Pierre-Yves David

http://www.logilab.fr/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20110901/8a7184af/attachment.pgp>


More information about the Mercurial-devel mailing list