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

Völker Ronny ronny.voelker at elaxy.de
Fri Feb 22 07:06:25 CST 2013

Angel Ezquerra <angel.ezquerra at gmail.com> wrote:

>I still do not understand why you need to use -o. On my brief tests the current configuration seems to work fine.

You deliberately edited the  left pane (local) and saved it, right?

I'm merging from the left pane (local) and the right pane (other) into the middle pane (base). 
The mentioned menu item "Changes->Merge all non-conflicting does exactly" the same (so this way of merging seems to be preferred by Meld).
At the end, the content of the middle pane has to be saved.
Without -o the middle pane is saved into the underlying file (base). This is a temporary file, created (and later ignored) by Mercurial
So my changes are lost after closing Meld.
With -o my changes (in the middle pane) are saved into $output, which is the file, mercurial is using as the result of the merge.


-----Ursprüngliche Nachricht-----
Von: ezquerra at gmail.com [mailto:ezquerra at gmail.com] Im Auftrag von Angel Ezquerra
Gesendet: Freitag, 22. Februar 2013 13:25
An: Völker Ronny
Cc: Steve Borho; mercurial-devel at selenic.com
Betreff: Re: [PATCH] Fix meld.args in mergetools.rc: add -o $output

On Fri, Feb 22, 2013 at 11:19 AM, Völker Ronny <ronny.voelker at elaxy.de> wrote:
> Angel Ezquerra <angel.ezquerra at gmail.com> wrote:
>>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.
> Steve Borho <steve at borho.org> wrote:
>>The Meld model is a lot closer to Araxis Merge than to KDiff3.
> I agree with Steve. It looks closer to Araxis Merge, where the middle pane contains the base version and is at the same time the target of merge operations.
> The  'Merge mode'-example on http://meldmerge.org/features.html supports this view.
>>The way I would prefer for it to work would be for the center pane to be named "merged" and for the trivial changes from both local and other to be pre-applied to the >merge pane. As it is you have to do the trivial merges manually.

I agree with Steve. If the center panel is where the merge must happen, it should be named something other than base, which means a different thing, and it should contain the results of the merge.

> I'm using Meld 1.5.3 on Ubuntu12.04. It has a menu item Changes->Merge all non-conflicting, which does what you want. I found no way to trigger this behavior automatically at startup. Maybe the latest version has an option to do this.

I just checked the meld -h output and it does not seem to be a new option for that. I could bring it up on the meld mailing list.

> Renaming the middle pane may be a good idea, but I think it should be consistent across all merge tools with the same model.
> Maybe the order of the panes should be consistent too (the order for Meld is local-base-other, the order for Araxis Merge is other-base-local ).
> Anyway, I think that's another change.

I still do not understand why you need to use -o. On my brief tests the current configuration seems to work fine.



More information about the Mercurial-devel mailing list