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

Angel Ezquerra angel.ezquerra at gmail.com
Thu Mar 28 11:05:54 CDT 2013


On Thu, Mar 28, 2013 at 8:48 AM, Völker Ronny <ronny.voelker at elaxy.de> wrote:
> # HG changeset patch
> # User ronvoe12249 <ronny.voelker at elaxy.com>
> # Date 1361454565 -3600
> # Node ID 1873dc48d8ce764436f9b4904dd3c29d2f7ff90a
> # Parent  fabbaa250977ad337a36b1c4cece22da94adfe4b
> mergetools.hgrc meld.args: avoid loosing the merged version
>
> Rename the center panel to 'merged', to make it clear that this panel will contain
> the merged version (as it is intended by Meld).
>
> Add -o $output, to avoid loosing the merged version.
> With the previous configuration, the merged version was written to the wrong
> file ($base, a temporary file, which is ignored by Mercurial).
>
> Add --auto-merge, to enable automatic merging of all non-conflicting changes.
>
> diff -r fabbaa250977 -r 1873dc48d8ce contrib/mergetools.hgrc
> --- a/contrib/mergetools.hgrc   Sat Feb 09 21:51:21 2013 +0000
> +++ b/contrib/mergetools.hgrc   Thu Feb 21 14:49:25 2013 +0100
> @@ -25,7 +25,9 @@
>  gpyfm.gui=True
>
>  meld.gui=True
> -meld.args=--label='local' $local --label='base' $base --label='other' $other
> +meld.args=--label='local' $local --label='merged' $base --label='other' $other -o $output --auto-merge
> +;The option --auto-merge requires meld 1.7 or younger. For older versions use:
> +;meld.args=--label='local' $local --label='target' $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 this with the latest version of meld on Windows (1.7). It
works better than what we had before.

That being said, for some reason I don't see the 'merge' label
anywhere. I see local on the left, other on the right but I see the
output filename on the center.

Also, TortoiseHg (and I guess mercurial would be the same) believes
that the merge was successful even if you do not save the output file.
I don't know if there is a way to fix that on the meld side? Otherwise
I think we should configure mercurial to ask the user if the merge was
successful when meld is closed if the file did not change:

meld.checkchanged=True

Another, final issue, is that it would be nice if the local / other
labels also indicated the revision number. I don't know if that is
possible.

Cheers,

Angel


More information about the Mercurial-devel mailing list