aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Aguilar <davvid@gmail.com>2009-01-31 12:27:56 -0800
committerJunio C Hamano <gitster@pobox.com>2009-01-31 17:35:06 -0800
commit99ccabaffa201e867f2073947dcccae3947ec4f1 (patch)
tree647ffb8e8b5a9d24e47ff78d6639238923b3ce04
parent384770a5e79938b6a7633c5996597ef3211e4a7c (diff)
downloadgit-99ccabaffa201e867f2073947dcccae3947ec4f1.tar.gz
git-99ccabaffa201e867f2073947dcccae3947ec4f1.tar.xz
contrib/difftool: Don't repeat merge tool candidates
git difftool listed some candidates for mergetools twice, depending on the environment. This slightly changes the behavior when both KDE_FULL_SESSION and GNOME_DESKTOP_SESSION_ID are set at the same time; in such a case meld is used in favor of kdiff3 (the old code favored kdiff3 in such a case), but it should not matter in practice. Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xcontrib/difftool/git-difftool-helper31
1 files changed, 12 insertions, 19 deletions
diff --git a/contrib/difftool/git-difftool-helper b/contrib/difftool/git-difftool-helper
index 10632a391..db3af6a83 100755
--- a/contrib/difftool/git-difftool-helper
+++ b/contrib/difftool/git-difftool-helper
@@ -181,31 +181,24 @@ fi
# Try to guess an appropriate merge tool if no tool has been set.
if test -z "$merge_tool"; then
-
# We have a $DISPLAY so try some common UNIX merge tools
if test -n "$DISPLAY"; then
- merge_tool_candidates="kdiff3 kompare tkdiff xxdiff meld gvimdiff"
- # If gnome then prefer meld
- if test -n "$GNOME_DESKTOP_SESSION_ID"; then
- merge_tool_candidates="meld $merge_tool_candidates"
- fi
- # If KDE then prefer kdiff3 or kompare
- if test "$KDE_FULL_SESSION" = "true"; then
- merge_tool_candidates="kdiff3 kompare $merge_tool_candidates"
+ # If gnome then prefer meld, otherwise, prefer kdiff3 or kompare
+ if test -n "$GNOME_DESKTOP_SESSION_ID" ; then
+ merge_tool_candidates="meld kdiff3 kompare tkdiff xxdiff gvimdiff"
+ else
+ merge_tool_candidates="kdiff3 kompare tkdiff xxdiff meld gvimdiff"
fi
fi
-
- # $EDITOR is emacs so add emerge as a candidate
if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then
- merge_tool_candidates="$merge_tool_candidates emerge"
+ # $EDITOR is emacs so add emerge as a candidate
+ merge_tool_candidates="$merge_tool_candidates emerge opendiff vimdiff"
+ elif echo "${VISUAL:-$EDITOR}" | grep 'vim' > /dev/null 2>&1; then
+ # $EDITOR is vim so add vimdiff as a candidate
+ merge_tool_candidates="$merge_tool_candidates vimdiff opendiff emerge"
+ else
+ merge_tool_candidates="$merge_tool_candidates opendiff emerge vimdiff"
fi
-
- # $EDITOR is vim so add vimdiff as a candidate
- if echo "${VISUAL:-$EDITOR}" | grep 'vim' > /dev/null 2>&1; then
- merge_tool_candidates="$merge_tool_candidates vimdiff"
- fi
-
- merge_tool_candidates="$merge_tool_candidates opendiff emerge vimdiff"
echo "merge tool candidates: $merge_tool_candidates"
# Loop over each candidate and stop when a valid merge tool is found.