On 1/12/07, Nathaniel J. Smith <[EMAIL PROTECTED]> 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


_______________________________________________
Monotone-devel mailing list
Monotone-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to