[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] Deterministic *-merge
From: |
Oren Ben-Kiki |
Subject: |
Re: [Monotone-devel] Deterministic *-merge |
Date: |
Fri, 12 Jan 2007 08:02:48 -0800 |
On Fri, 2007-01-12 at 03:00 -0800, Nathaniel J. Smith wrote:
> ...
>
> Deterministic merging
> =====================
Beautiful! There's just one point I didn't follow, though.
> But, magically, with deterministic *-merge, all orders work the same
> -- it even turns out to be possible to merge two conflicts and get out
> a non-conflict (!):
>
> a a a
> / \ / \ / \
> b* b* b* b* b* b*
> / \ / \ / \ / \ / \ / \
> c* b c* c* b c* c* b c*
> \ / / \ \ / \ / \ /
> # / \ # # #
> \ / \ / \ /
> c c c
You lost me here. In the '#' node, you lost the specific values 'b' and
'c' - all you have is 'some unknown value'. How does merging two
'unknown values' produce a specific value?
I like the idea of not using the generic '#' and instead listing the set
of candidate values. This can be done in text files by some
not-so-pretty syntax tricks. Speaking of which, how did you envision
representing '#' in actual text files?
If the result of a conflict was replacing a scalar with a set of
conflicting values, we'd get a user action (creating a separate node)
that would pick one or replace the set by a new one. It seems like this
would be very useful when users need to resolve conflicts in practice...
At first I thought that was how you obtained 'c' above, but it turns out
not to be the case:
a a a
/ \ / \ / \
b* b* b* b* b* b*
/ \ / \ / \ / \ / \ / \
c* b c* c* b c* c* b c*
\ / / \ \ / \ / \ /
{b,c} / \ {b,c} {b,c}{b,c}
\ / \ / \ /
c c {b,c}
So I'm still stumped on how you obtained 'c' in all three cases. I must have
missed some important point here...
- [Monotone-devel] Deterministic *-merge, Nathaniel J. Smith, 2007/01/12
- Re: [Monotone-devel] Deterministic *-merge,
Oren Ben-Kiki <=
- [Monotone-devel] Re: Deterministic *-merge, Timothy Brownawell, 2007/01/12
- [Monotone-devel] Re: Deterministic *-merge, Oren Ben-Kiki, 2007/01/12
- [Monotone-devel] Re: Deterministic *-merge, Timothy Brownawell, 2007/01/12
- [Monotone-devel] Re: Deterministic *-merge, Oren Ben-Kiki, 2007/01/12
- Re: [Monotone-devel] Re: Deterministic *-merge, Nathaniel J. Smith, 2007/01/12
- Re: [Monotone-devel] Re: Deterministic *-merge, Oren Ben-Kiki, 2007/01/13
- [Monotone-devel] Re: Deterministic *-merge, Lapo Luchini, 2007/01/23
Re: [Monotone-devel] Deterministic *-merge, Justin Patrin, 2007/01/12