monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Re: fatal: std::logic_error: roster_merge.cc:528: invar


From: Koen Kooi
Subject: [Monotone-devel] Re: fatal: std::logic_error: roster_merge.cc:528: invariant 'I(left_name == right_name)' violated
Date: Sat, 29 Mar 2008 17:49:09 +0100
User-agent: Thunderbird 2.0.0.12 (Macintosh/20080213)

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

Markus Schiltknecht schreef:
| Hi,
|
| Koen Kooi wrote:
|> And what about mtn resolving NCCs for people, instead of erroring out
|> with a nicer message? "bogus invariant" or "nice error message" still
|> don't get me a solution to the problem, it just makes me throw a smaller
|> object out of the window ;)
|
| Well said ;-)
|
| We certainly have that on the radar, however, it's not such a walk in
| the park as the OP's bug fix was. :-)

And the OP's bug is harder to 'automagically' solve than the NCCs
OpenEmbedded encounters, which go like:

~ * file gets added in vendor branch (can't be merged to mainline)
~ * file gets copied to mainline and committed
~ * vendor propagates mainline to vendor branch
~   *boom*

And in this case the proposed solution to drop the 'youngest' node is
not always the correct one. You could offer a dialog:

- ---
conflict: duplicate node 'x'
~   added in org.foo.mainline on 20080312
~   added in com.vendor.branch on 20071228

~ 1) drop org.foo.mainline node
~ 2) drop com.vendor.branch node
~ 3) abort merge

Enter choice [default: 3] :
- ---

or have an extra param to propagate like
- --preferred-branch=org.foo.mainline.

Bonus points for (re)creating revisions to keep history from both sides.

regards,

Koen

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

iD8DBQFH7nMFMkyGM64RGpERAtVFAJwMHVQS+zpFu8Xz9IJG9hOibyXQzQCdF7RR
wCmn6DllvjO+xLW2wCfych0=
=J0JU
-----END PGP SIGNATURE-----





reply via email to

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