* [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
@ 2009-05-02 8:57 David Aguilar
2009-05-02 19:46 ` David Aguilar
0 siblings, 1 reply; 7+ messages in thread
From: David Aguilar @ 2009-05-02 8:57 UTC (permalink / raw)
To: gitster, markus.heidelberg, marcin.zalewski; +Cc: charles, git, David Aguilar
The ecmerge documentation mentions the following form:
ecmerge --mode=diff2 $1 $2
Since git-difftool is about diffing, we should use that
instead of --mode=merge2. Likewise, this drops the
$MERGED argument to emerge, as discussed on the git list
($gmane/117930).
Signed-off-by: David Aguilar <davvid@gmail.com>
---
I tested the emacs (emerge) bit, but I'm not an emacs
user and I didn't really see any difference with or
without the patch. Dropping $MERGED seems like the
right thing to do nonetheless.
In emerge/emacs mode, we still end up seeing the
merge pane. My emacs-fu is not sophisticated
enough to know how to inhibit the merge pane
(if that's even something we'd want to do).
Regarding ecmerge: I found the --mode=diff2
flag by reading their documenation:
http://www.elliecomputing.com/OnlineDoc/ecmerge_EN/52335623.asp
I don't have ecmerge installed at all, so I'm just
going by the book on this one. It *looks* correct,
and probably is, but let it be known that I
haven't tested the ecmerge snippet myself.
git-mergetool--lib.sh | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index a16a279..8b5e6a8 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -228,8 +228,8 @@ run_merge_tool () {
fi
check_unchanged
else
- "$merge_tool_path" "$LOCAL" "$REMOTE" \
- --default --mode=merge2 --to="$MERGED"
+ "$merge_tool_path" --default --mode=diff2 \
+ "$LOCAL" "$REMOTE"
fi
;;
emerge)
@@ -248,7 +248,7 @@ run_merge_tool () {
status=$?
else
"$merge_tool_path" -f emerge-files-command \
- "$LOCAL" "$REMOTE" "$(basename "$MERGED")"
+ "$LOCAL" "$REMOTE"
fi
;;
tortoisemerge)
--
1.6.3.rc3.40.g75b44
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
2009-05-02 8:57 [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge David Aguilar
@ 2009-05-02 19:46 ` David Aguilar
2009-05-03 6:27 ` Markus Heidelberg
2009-05-03 18:47 ` Marcin Zalewski
0 siblings, 2 replies; 7+ messages in thread
From: David Aguilar @ 2009-05-02 19:46 UTC (permalink / raw)
To: gitster, markus.heidelberg, marcin.zalewski; +Cc: charles, git
On 0, David Aguilar <davvid@gmail.com> wrote:
>
> Regarding ecmerge: I found the --mode=diff2
> flag by reading their documenation:
>
> http://www.elliecomputing.com/OnlineDoc/ecmerge_EN/52335623.asp
>
> I don't have ecmerge installed at all, so I'm just
> going by the book on this one. It *looks* correct,
> and probably is, but let it be known that I
> haven't tested the ecmerge snippet myself.
I installed ecmerge on a mac today and gave this a try.
ecmerge is indeed better with this patch.
After configuring the path it all "just works":
$ git config --global mergetool.ecmerge.path \
/Applications/ECMerge.app/Contents/MacOS/guimerge
We now get a simple side-by-side diff without the
merge pane at the bottom of the screen. Nice.
If an emacs user could comment on the emerge snippet
below (or perhaps suggest a better one ;)) then that
would make me happy. As is, I have tested the
emacs emerge snippet and it works, but I'm not
sure if that's enough to resolve the issue reported
by Marcin. Marcin?
Here's the original thread:
http://article.gmane.org/gmane.comp.version-control.git/117930
> diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
> index a16a279..8b5e6a8 100644
> --- a/git-mergetool--lib.sh
> +++ b/git-mergetool--lib.sh
> @@ -248,7 +248,7 @@ run_merge_tool () {
> status=$?
> else
> "$merge_tool_path" -f emerge-files-command \
> - "$LOCAL" "$REMOTE" "$(basename "$MERGED")"
> + "$LOCAL" "$REMOTE"
> fi
> ;;
--
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
2009-05-02 19:46 ` David Aguilar
@ 2009-05-03 6:27 ` Markus Heidelberg
2009-05-03 18:21 ` David Aguilar
2009-05-03 18:47 ` Marcin Zalewski
1 sibling, 1 reply; 7+ messages in thread
From: Markus Heidelberg @ 2009-05-03 6:27 UTC (permalink / raw)
To: David Aguilar; +Cc: gitster, marcin.zalewski, charles, git
David Aguilar, 02.05.2009:
> I installed ecmerge on a mac today and gave this a try.
> ecmerge is indeed better with this patch.
>
> After configuring the path it all "just works":
>
> $ git config --global mergetool.ecmerge.path \
> /Applications/ECMerge.app/Contents/MacOS/guimerge
Would it make sense to set merge_tool_path to guimerge by default then?
Markus
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
2009-05-03 6:27 ` Markus Heidelberg
@ 2009-05-03 18:21 ` David Aguilar
2009-05-03 19:12 ` Markus Heidelberg
0 siblings, 1 reply; 7+ messages in thread
From: David Aguilar @ 2009-05-03 18:21 UTC (permalink / raw)
To: Markus Heidelberg; +Cc: gitster, marcin.zalewski, charles, git
Markus Heidelberg <markus.heidelberg@web.de> wrote:
> David Aguilar, 02.05.2009:
> > I installed ecmerge on a mac today and gave this a try.
> > ecmerge is indeed better with this patch.
> >
> > After configuring the path it all "just works":
> >
> > $ git config --global mergetool.ecmerge.path \
> > /Applications/ECMerge.app/Contents/MacOS/guimerge
>
> Would it make sense to set merge_tool_path to guimerge by default then?
>
> Markus
On Linux, ecmerge is "ecmerge".
Macs are weird. Windows--even worse.
We could test $(uname) = "Darwin" and do the user-friendly thing by default,
but that might not be a good idea. The user-friendly thing is actually
"/Applications/...lots.of.stuff.../guimerge", and that's a lot more
platform-specific than just "guimerge".
The usability fairy says we should be nice to users and turn
translate_merge_tool_path() into a massive platform-specific
hack. The lazy person in me would rather list the tweaks
on the git wiki and silently reward linux users since
the defaults work fine there as-is.
What do you think?
--
David
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
2009-05-02 19:46 ` David Aguilar
2009-05-03 6:27 ` Markus Heidelberg
@ 2009-05-03 18:47 ` Marcin Zalewski
1 sibling, 0 replies; 7+ messages in thread
From: Marcin Zalewski @ 2009-05-03 18:47 UTC (permalink / raw)
To: David Aguilar; +Cc: gitster, markus.heidelberg, charles, git
David,
Thanks for your patches.
> If an emacs user could comment on the emerge snippet
> below (or perhaps suggest a better one ;)) then that
> would make me happy. As is, I have tested the
> emacs emerge snippet and it works, but I'm not
> sure if that's enough to resolve the issue reported
> by Marcin. Marcin?
>
> Here's the original thread:
> http://article.gmane.org/gmane.comp.version-control.git/117930
As far as I am concerned, this patch works well. Without the third
argument, ediff will not complain anymore that it is "too dangerous to
merge versions of a file visited by another buffer," which was my
original problem.
-Marcin
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
2009-05-03 18:21 ` David Aguilar
@ 2009-05-03 19:12 ` Markus Heidelberg
2009-05-03 20:34 ` David Aguilar
0 siblings, 1 reply; 7+ messages in thread
From: Markus Heidelberg @ 2009-05-03 19:12 UTC (permalink / raw)
To: David Aguilar; +Cc: gitster, marcin.zalewski, charles, git
David Aguilar, 03.05.2009:
> Markus Heidelberg <markus.heidelberg@web.de> wrote:
> > David Aguilar, 02.05.2009:
> > > I installed ecmerge on a mac today and gave this a try.
> > > ecmerge is indeed better with this patch.
> > >
> > > After configuring the path it all "just works":
> > >
> > > $ git config --global mergetool.ecmerge.path \
> > > /Applications/ECMerge.app/Contents/MacOS/guimerge
> >
> > Would it make sense to set merge_tool_path to guimerge by default then?
> >
> > Markus
>
> On Linux, ecmerge is "ecmerge".
> Macs are weird. Windows--even worse.
And the ecmerge developers are even more worse or is there a reason to
have different names for the binaries?
> We could test $(uname) = "Darwin" and do the user-friendly thing by default,
> but that might not be a good idea.
Or use "type" there already to test whether guimerge exists, else
default to ecmerge.
> The user-friendly thing is actually
> "/Applications/...lots.of.stuff.../guimerge", and that's a lot more
> platform-specific than just "guimerge".
Why is the whole path more user friendly, because of guimerge not being
in PATH? Is the /Applications/... directory always the same for ecmerge
for each Mac user? But we don't care in other diff/merge tools about the
exact location and I think we shouldn't begin it here.
> The usability fairy says we should be nice to users and turn
> translate_merge_tool_path() into a massive platform-specific
> hack. The lazy person in me would rather list the tweaks
> on the git wiki and silently reward linux users since
> the defaults work fine there as-is.
>
> What do you think?
Not sure, leaving it as is is still an option.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge
2009-05-03 19:12 ` Markus Heidelberg
@ 2009-05-03 20:34 ` David Aguilar
0 siblings, 0 replies; 7+ messages in thread
From: David Aguilar @ 2009-05-03 20:34 UTC (permalink / raw)
To: Markus Heidelberg; +Cc: gitster, marcin.zalewski, charles, git
Markus Heidelberg <markus.heidelberg@web.de> wrote:
> >
> > On Linux, ecmerge is "ecmerge".
> > Macs are weird. Windows--even worse.
>
> And the ecmerge developers are even more worse or is there a reason to
> have different names for the binaries?
But of course :)
> > The user-friendly thing is actually
> > "/Applications/...lots.of.stuff.../guimerge", and that's a lot more
> > platform-specific than just "guimerge".
>
> Why is the whole path more user friendly, because of guimerge not being
> in PATH? Is the /Applications/... directory always the same for ecmerge
Yup.
> for each Mac user? But we don't care in other diff/merge tools about the
> exact location and I think we shouldn't begin it here.
Ditto.
> > What do you think?
>
> Not sure, leaving it as is is still an option.
I agree. So the original patch for ecmerge + emerge should be
good then. I still need to reroll the araxis patch after my bike
ride later.
--
David
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-05-03 20:34 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-02 8:57 [PATCH] mergetool--lib: specialize diff options for emerge and ecmerge David Aguilar
2009-05-02 19:46 ` David Aguilar
2009-05-03 6:27 ` Markus Heidelberg
2009-05-03 18:21 ` David Aguilar
2009-05-03 19:12 ` Markus Heidelberg
2009-05-03 20:34 ` David Aguilar
2009-05-03 18:47 ` Marcin Zalewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).