monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] Re: [Revctrl] improvements to *-merge


From: Oren Ben-Kiki
Subject: Re: [Monotone-devel] Re: [Revctrl] improvements to *-merge
Date: Sat, 3 Sep 2005 11:40:04 +0300
User-agent: KMail/1.8.1

On Friday 02 September 2005 21:48, Bram Cohen wrote:
> First of all though, there's a point I have to get out of the way.
> Just how does one pronounce 'precise-*-merge'? Star-merge is already
> taken as a term, and asterisk-merge just doesn't roll off the tongue
> in quite the same way.

Precis(e)tar-r-merge? :-)

> This approach is entirely based on values, not graph node

There's a subtlety involved:

    a1
   / \
  d1  b1
   \ / \
    b?  c1   

b? would have been a conflict, resolved in favor of b. So the rule is:

"In case of a conflict resolved for one of the values, you keep the 
winner's generational number."

On the other hand,

      a1
     /  \
    b1   a1
     \  /
      a2?

Here there would have been a clean merge to b1, overridden for a, so the 
rule is: 

"In case a clean merge is overridden for the losing value, you increment 
the generation number."

It sounds like a potential divergence between the programmer's intent 
and the algorithm's interpretation. It does seem to work however... Any 
rationale?

Then there's implicit undo :-) The whole approach philosophically 
opposes implicit undo, since the "undone" generation number _must_ be 
higher than the original, causing conflicts. I really don't see how you 
could even approach trying to make implicit undo work...

Have fun,

        Oren Ben-Kiki




reply via email to

[Prev in Thread] Current Thread [Next in Thread]