monotone-devel
[Top][All Lists]
Advanced

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

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


From: Koen Kooi
Subject: [Monotone-devel] Re: non-content conflicts AKA Openembedded is dumping monotone because it can merge anything
Date: Thu, 13 Mar 2008 17:29:47 +0100
User-agent: Thunderbird 2.0.0.12 (Macintosh/20080213)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Zack Weinberg schreef:
| On Thu, Mar 13, 2008 at 11:51 AM, Koen Kooi
| <address@hidden> wrote:
|>  Markus Schiltknecht schreef:
|>  | 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).
|
| I feel somewhat responsible for having abandoned work on workspace
| merge, um, almost two years ago now; that would have addressed most of
| your problems.
|
| Dealing with nccs *is* just a simple matter of programming, and for
| your case (willing to put up with merge-right-now, only care about
| add/add conflict) I think there could be a hackish solution where we
| throw those into the content_merge lua hook too.
|
| Are you willing to attempt to code it?  If so, I can commit to
| reviewing and/or offering implementation advice.  (I do not have time
| to do it myself.  Also I may be offline all of next week.)

Personally, I couldn't code my way out of a wet paper bag, I'm the
system integrator dude at OE. So I sadly can't help with that :(

|>  Would a dialog asking the user which node to drop (or rename) be an
|>  acceptible UI?
|
| Honestly, I think it would be okay to do a dumbass heuristic: discard
| the conflicting node with the numerically higher node ID.  (which is a
| decent approximation to "node with the shortest history").

One of my thoughts as well.

|>  [1] another big problem: mtn has no way of applying the output of 'mtn
|>  diff', rendering 'mtn mv' useless
|
| "mtn patch" would be _really easy_ to code.  All you have to do is
| strip the leading hashmarks and parse the basic_io header, drop
| content-only changes, feed the result to apply_cset(), and then spawn
| patch(1) on the remainder of the input.

OE has a prototype in python:
http://www.openembedded.org/repo/org.openembedded.dev/contrib/mtnpatch.py

regards,

Koen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFH2VZ7MkyGM64RGpERAnfTAKCL5DX05V8SLIlWSiLsSmPzGcMs6wCcCVS9
fF4vUA7+81aqwlGJws4qDLM=
=dZh7
-----END PGP SIGNATURE-----





reply via email to

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