On Sun, Feb 24, 2013 at 10:05 PM, Kai Willadsen <[email protected]> wrote:
> On 23 February 2013 18:40, Angel Ezquerra <[email protected]> wrote:
>> Hi,
>>
>> I contribute to the mercurial project from time to time. Because of that I
>> follow the mercurial mailing list. Recently there has been a thread
>> discussing ways to improve the meld configuration that ships with mercurial.
>>
>> The main issue is with the merge mode configuration. Currently we use the
>> following command line :
>>
>> meld --label='local' $local --label='base' $base --label='other' $other
>>
>> Where $local, $base and $other are replaced by the corresponding file names.
>>
>> This forces users to make their changes on the left, local panel.
>
> Right. When I started using Mercurial, I couldn't believe that this
> was the default config. Changing this would be a very good idea.
>
>> It has been proposed to change it to:
>>
>> meld --label='local' $local --label='merge' $base --label='other' $other -o
>> $output
>>
>> With this change users would make their changes in the "base" central panel
>> which we would probably rename to "merge".
>
> I personally think that this is the wrong approach, but I know that
> others would disagree with me. I personally prefer (in Mercurial
> terms, so the details may be wrong) $local $output $base with premerge
> = True. This loses the ancestor information though, so until we add
> diff3 support for pruning that out, I can't really say that it's an
> obvious win.

So your suggestion would be to have $base rather than $other? I think
that would be very different compared to all other tool
configurations. Personally I'd rather lose $base than $other...

> Also, see the recent thread on this list about "Automatic 3-way merge
> for conflicts".

I'll look into it, thanks.

>> The issue is that meld does not automatically try to merge the input files.
>> Instead you must manually click on the " "Changes->Merge all
>> non-conflicting" menu item. This is confusing to users because
>>
>> My question is, is there a way to force meld to merge the non conflicting
>> changes when it starts? If not it would be great if it did, perhaps by
>> adding a "--merge" command line flag?
>
> Unless I'm missing something, --auto-merge is what you're looking for,
> possibly with a -o $output appended.

Is this a new command line option? I believe I did not see it on the
help file on 1.6...

So just to sum things up, do you think the following mercurial meld
configuration would be fine?:

meld.gui=True
meld.premerge=True
meld.args=--label='local' $local --label='merge' $base --label='other'
$other -o $output --auto-merge
meld.diffargs=-a --label='$plabel1' $parent --label='$clabel' $child

If --auto-merge has been recently introduced, what would happen if the
user used an older meld version that did not support it? Maybe we may
need to introduce a separate merld17 config...

Cheers,

Angel
_______________________________________________
meld-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/meld-list

Reply via email to