monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Deterministic *-merge


From: Justin Patrin
Subject: Re: [Monotone-devel] Deterministic *-merge
Date: Fri, 12 Jan 2007 10:01:16 -0800

On 1/12/07, Nathaniel J. Smith <address@hidden> wrote:
[snip]
Example 2 (super bonus edition)
===============================

A more wacky example is:

      a
     / \
    b*  b*
   / \ / \
  c*  b   c*

Here we have two people who independently set the value to b, which
then makes an accidental clean merge.  Then two other people come
along and independently overwrite the b's with c's.  Because *-merge
makes the decision to be conservative about implicit convergence, if
either of the c's is merged with the b, it generates a conflict --
because someone made a decision to create the b in two different
contexts, but the c came from someone overruling that decision in only
one context:


Forgive my possible ignorance, but if 2 people independently make the
same changes to a revision and commit/push them on their own doesn't
this end up being the same node in the graph? The way I understand it
if 2 people make the same change simultaneously in 2 different
databases then sync with each other that the only actual thing being
synced would be an author cert on the revision, leaving you with 1
revision, not 2. Or am I misunderstanding the "two people
independently set the value to b" remark above?

According to my understanding this graph would just be:

a
|
b
|
c

since no merging of the 2 independent creations of b is necessary.

--
Justin Patrin




reply via email to

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