monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Non-modal merge


From: Stephen Leake
Subject: Re: [Monotone-devel] Non-modal merge
Date: Sat, 22 Sep 2007 07:20:11 -0400
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/22.1 (windows-nt)

Stefan Monnier <address@hidden> writes:

> Bak when I used monotone for the first time, I was surprised to see that
> all the merge options provided were pretty much modal.  So I came up with
> the code attached below (not on my own, it's largely copied from random
> bits on the Web, it's probably hideous for Lua experts).
>
> Is there such a tool in standard now?

Not in standard, but I put one in
contrib/diff3_keep_conflicts_merger.lua

The objection is that this allows conflicts to be commited to the
database.

In most situations, I don't have a problem with that, and I definitely
prefer the non-modal behavior; often I don't have time to fix all
the conflicts immediately.

If you don't want the conflicts committed, you can use
merge_into_workspace, although that has other problems. For one thing,
it's undocumented :). For another, it leaves the workspace with two
parents, which is not typical, and Emacs DVC can't handle it (yet).

It would be nice if the top-level merger code output a summary of
conflicts in this case, so it would be easier to keep a list of things
to go back and fix, but the current output isn't too bad for that purpose.

There was some discussion of having mtn keep track of the conflicts,
but I think that's unnecessary.

One difference between our scripts is that I ignore the return value,
while you check for ret > 1. I guess diff3 returns 1 for "conflict",
and > 1 for "error"? The man page I have (in Cygwin) doesn't document
the return value.

Feel free to improve contrib/diff3_keep_conflicts_merger.lua

-- 
-- Stephe




reply via email to

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