Subject: Re: Conflict markers in mergetool $LOCAL ?

From: Charles Bailey <[email-masked]>
Date: Tue, 17 Aug 2010 22:24:25 +0100

On 17/08/2010 22:04, Seth House wrote:
> Jacob Helwig<jacob.helwig<at>  gmail.com>  writes:
>> That actually looks exactly like it should.  The order of the windows
>> that vimdiff uses is (IIRC): ours, on-disk file, theirs.
>
> Hm, you’re right. I just found the git-mergetool--lib script on my
> system and it opens vimdiff with $LOCAL $MERGED $REMOTE. Thank you, that
> opened my eyes enough to clarify my question:
>
> The conflict markers don't seem very useful in the context of a merge
> tool. I would prefer to see two windows in vimdiff with each side of the
> conflict, respectively. Something like:
>
> vimdiff $MERGED-left-hand-conflicts $MERGED-right-hand-conflicts
>
> Is that possible with Git -- or does anyone know of external tools to
> help with such a workflow?

I think that your problem is mainly with vimdiff, not with mergetool. Or 
perhaps the way they interact. Although I'm a heavy vim user I don't 
really get on with vimdiff as a merge tool. Most 3-way merge tools use 
BASE, LOCAL and REMOTE to allow a good semi-automatic conflict 
resolution to be performed. vimdiff is used by mergetool as a two-way 
diff tool with an extra edit pane; it's not quite the same thing.

The conflict markers have been but into the target file by merge before 
mergetool even starts and mergetool considers the target file to be an 
output only.

I personally have used and would recommend kdiff3 and the Perforce 
visual merge tool with git. Can I suggest you try a different mergetool 
to see if you works better for you?

Charles.