monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] non-content conflicts AKA Openembedded is dumping m


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] non-content conflicts AKA Openembedded is dumping monotone because it can merge anything
Date: Thu, 13 Mar 2008 16:22:21 +0100
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)

Hi,

Koen Kooi wrote:
As the subject already hints at, OpenEmbedded is seriously looking at hg
and git because mtn can't merge any of our branches due to non-content
conflicts (ncc).

Oh.. that makes me wonder how hg and git handle non-content conflicts.

Of course you are going to reply with "you have the wrong problem", but
I can't change the fact that people copy over files and commit them in
different branches, or use mtn pluck to get one fix and not the shitload
of bugs from the development branch.

I understand this is a serious problem. However, the *right* fix isn't obvious nor trivial, from my perspective.

Now the constructive part:

The acceptable solution (for me, can't speak for others due to their
rabid hate for mtn ncc's) would the like this:

1) mtn notes ncc and checks content
~ 1a) same content -> merge + print warning/decision, continue merge

Bears the question of which node id monotone should drop. While you might not mind on the first sight, stuff like 'mtn log' or 'mtn annotate' will differ significantly.

~ 1b) different content -> dialog:

~ - keep file ncc.txt:
~   1) from org.branch.foo with hash 457252837582759824, last edited by
Chuck Frobnor on april fool's day
~   2) from com.company.exploit with hash 48129390950329502, last edited
by Evil Overlord on 20080305
~  - use mergetool to merge them
~   3) meld
~   4) kdiff3

..see above question for any kind of 'merge' option here. While doing the merge is simple enough, recording history correctly can be pretty difficult. It's not even clear what 'correct' means here.

That's just meant to explain, why monotone doesn't have better ways to handle NCCs for now.

If that was implemented in mtn I wouldn't have to waste days to switch
OE away from mtn because the git-kiddies can't handle nccs.

We certainly hope you guys stay with monotone and hope to be able to provide you with better NCC handling someday. I personally can't promise much, though, as my spare time is pretty limited and I already have way too many open monotone projects running. :-(

Regards

Markus





reply via email to

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