[PATCH] Fix meld.args in mergetools.rc: add -o $output

Angel Ezquerra angel.ezquerra at gmail.com
Thu Feb 21 12:10:48 CST 2013


On Thu, Feb 21, 2013 at 3:04 PM, Völker Ronny <ronny.voelker at elaxy.de> wrote:
> # HG changeset patch
>
> # User Ronny Voelker <ronny.voelker at gmail.com>
>
> # Date 1361454565 -3600
>
> # Node ID 138968bb44d36a06393ecb82c74490914f7598bc
>
> # Parent  4921b5c2aeed8a6bb0918503f7802508538f01e5
>
> Fix meld.args in mergetools.rc: add -o $output
>
>
>
> Without this argument meld saves the result of a merge in $base.
>
> This is a temporary file, which is ignored by Mercurial.
>
> So the result of the merge is lost.
>
>
>
> diff -r 4921b5c2aeed -r 138968bb44d3 contrib/mergetools.hgrc
>
> --- a/contrib/mergetools.hgrc   Sun Feb 17 14:34:53 2013 -0600
>
> +++ b/contrib/mergetools.hgrc               Thu Feb 21 14:49:25 2013 +0100
>
> @@ -25,7 +25,7 @@
>
> gpyfm.gui=True
>
>  meld.gui=True
>
> -meld.args=--label='local' $local --label='base' $base --label='other'
> $other
>
> +meld.args=--label='local' $local --label='base' $base --label='other'
> $other -o $output
>
> meld.diffargs=-a --label='$plabel1' $parent --label='$clabel' $child
>
>  tkdiff.args=$local $other -a $base -o $output

I just tried using meld (on windows) with TortoiseHg, using the
current meld configuration (i.e. without your patch). As far as I can
tell it seems to work fine. The only slightly weird thing is that you
must make (and save) your changes on the "local" panel.

So is this really necessary? Probably I'm missing something...

What I really don't like is the fact that the order of the diff panels
that meld shows is:

local - base - other

This makes it _very_ hard to tell the difference between local and
other. It would be nice if it could be turned around (i.e.
base-local-other). Or better yet, it would be nice if Meld could do a
proper "3-way merge" (with 4 panels) as KDiff3 does.

Cheers,

Angel


More information about the Mercurial-devel mailing list