monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] cooperative/parallel/resumed merging


From: graydon hoare
Subject: Re: [Monotone-devel] cooperative/parallel/resumed merging
Date: Tue, 22 Jun 2004 12:31:27 -0400
User-agent: Mozilla Thunderbird 0.5 (X11/20040208)

Christof Petig wrote:

While I'd love to commit the nonconflicting parts, the resulting manifest will not compile most of the time when there are conflicts in some files and clean merges in others. Partially resolved manifests should get a cert "don't use me except when merging".

well, I have never supported the notion of committing files with merge markers in them. that just strikes me as really awkward. I think it might be possible to commit half-merged trees though: that's just another form of (partial) divergence, which may or may not be working code. whether it works is for autotesters to investigate.

if you want to mark partially merged results as "don't even bother with me", that's also plausible. but I think it might be less necessary than you imagine.

I don't think that a "best merge possible" node would be easily designed: Which version of the conflicting files do you include in this manifest, the right branch or the left branch or the common ancestor [likely the best solution for a future 3way merge but the least expected!]?

I think it was "the common ancestor" being proposed (note: I'm not wedded to this proposal). so you'd be going from this state:

         +---- LEFT
--- ANC1 +
         +---- RIGHT

into this state:

         +---- LEFT  -----+                 +--- RESIDUAL LEFT
--- ANC1 +                + -- SEMIMERGE -- +
         +---- RIGHT -----+                 +--- RESIDUAL RIGHT

I'm not really sure this is the "least expected" situation; the two new residual heads look like "slightly more similar" versions of the previous two heads. otherwise it's the same situation.

-graydon




reply via email to

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