[PATCH] contrib/difftool: Don't repeat merge tool candidates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx>
---

Hi Junio

This is based on top of Markus's kompare patch:
	"contrib/difftool: add support for Kompare"
	http://article.gmane.org/gmane.comp.version-control.git/107883

This syncs difftool up with the mergetool patch that's in 'next':
	"git mergetool: Don't repeat merge tool candidates"
	http://article.gmane.org/gmane.comp.version-control.git/106669


 contrib/difftool/git-difftool-helper |   31 ++++++++++++-------------------
 1 files changed, 12 insertions(+), 19 deletions(-)

diff --git a/contrib/difftool/git-difftool-helper b/contrib/difftool/git-difftool-helper
index 10632a3..db3af6a 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.
-- 
1.6.1.2.253.ga34a

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux