Re: Automatically execute "Changes->Merge all non-conflicting" on startup
- From: Kai Willadsen <kai willadsen gmail com>
- To: Angel Ezquerra <angel ezquerra gmail com>
- Cc: meld-list <meld-list gnome org>
- Subject: Re: Automatically execute "Changes->Merge all non-conflicting" on startup
- Date: Tue, 26 Feb 2013 05:45:08 +1000
On Feb 25, 2013 7:30 AM, "Angel Ezquerra" <angel ezquerra gmail com> wrote:
On Sun, Feb 24, 2013 at 10:05 PM, Kai Willadsen <kai willadsen gmail com> wrote:
On 23 February 2013 18:40, Angel Ezquerra <angel ezquerra gmail com> 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...
Yeah, that was a typo. Local, output, other is what I meant.
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?:
--auto-merge was introduced in 1.7.0. Before that time, you could
start it by passing four file arguments instead (<left, ancestor,
right, out> if I remember correctly), but that's not supported
anymore.
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...
I couldn't find any documentation on what diffargs is for, but
otherwise sure. However, I imagine you don't want both premerge=True
*and* --auto-merge. Surely one or the other is more desirable?
cheers,
Kai
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]