More merge base discussion [was: monotone's LCA+DOM algo for selecting a merge base]

John A Meinel john at arbash-meinel.com
Mon Feb 20 16:21:57 GMT 2006


Aaron Bentley wrote:
> Aaron Bentley wrote:
>>> The thing is that if C is at all old, the two lines will have resolved
>>> its conflicts differently, and so they'll conflict on the resolutions.
>>> But I guess that's true no matter what.
>>>
>>> It looks like requiring a dominator means
>>> 1. You don't get criss-cross
>>> 2. You don't get mutual merges.
> 
> Here is a worse case:
> http://aaronbentley.com/pastegraph.cgi?n=136
> 
> In this case, LCA+DOM will pick A, but J would be preferable and F would
> be acceptable.  It seems pretty bad that every time you merge, you shove
> future merge bases back to the common dominator of PARENT+MERGE
> 
> Aaron

Isn't it true that, any time you get this pattern:
http://aaronbentley.com/pastegraph.cgi?n=140

Where we both merge a common revision, then LCA+DOM will pick the
ultimate parent (A).
When you probably want it to pick (J).

I don't know if it is quite as obvious what to do when the ancestries
are longer. But what if we had a shortcut for *immediate* ancestors.

Or maybe we introduce the concept of 'last merged' revisions. So even if
you have this:

http://aaronbentley.com/pastegraph.cgi?n=141

You still have a 'last merged' revisions of B+J for the left side, and
J+D for the right side.

So it wouldn't have to be a dominator if it is present in the
'last-merged' revisions of both sides.

Now, doing this:
http://aaronbentley.com/pastegraph.cgi?n=143

Would mean that we stop picking 'J' and revert back to the only
dominator "A".
But that seems reasonable considering the topology.

John
=:->

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 249 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060220/36ac27d5/attachment.pgp 


More information about the bazaar mailing list