summary refs log tree commit diff
path: root/mergetools
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-02-07 14:42:01 -0800
committerJunio C Hamano <gitster@pobox.com>2013-02-07 14:42:01 -0800
commiteeaf4e7c32f09ef9daa45f9d5ff4713aad9b7d8e (patch)
tree81891c565f5c6d859225acafc807f8bf7eff5a7c /mergetools
parent55f56fee0765820d5c841e47b22f33f5a7253e16 (diff)
parent81ed7b9581f7eafb334824264abb492d85a5ffb8 (diff)
Merge branch 'ss/mergetools-tortoise'
Update mergetools to work better with newer merge helper tortoise ships.

* ss/mergetools-tortoise:
  mergetools: teach tortoisemerge to handle filenames with SP correctly
  mergetools: support TortoiseGitMerge
Diffstat (limited to 'mergetools')
-rw-r--r--mergetools/tortoisemerge25
1 files changed, 21 insertions, 4 deletions
diff --git a/mergetools/tortoisemerge b/mergetools/tortoisemerge
index ed7db495ed..3b89f1c82d 100644
--- a/mergetools/tortoisemerge
+++ b/mergetools/tortoisemerge
@@ -6,12 +6,29 @@ merge_cmd () {
 	if $base_present
 	then
 		touch "$BACKUP"
-		"$merge_tool_path" \
-			-base:"$BASE" -mine:"$LOCAL" \
-			-theirs:"$REMOTE" -merged:"$MERGED"
+		basename="$(basename "$merge_tool_path" .exe)"
+		if test "$basename" = "tortoisegitmerge"
+		then
+			"$merge_tool_path" \
+				-base "$BASE" -mine "$LOCAL" \
+				-theirs "$REMOTE" -merged "$MERGED"
+		else
+			"$merge_tool_path" \
+				-base:"$BASE" -mine:"$LOCAL" \
+				-theirs:"$REMOTE" -merged:"$MERGED"
+		fi
 		check_unchanged
 	else
-		echo "TortoiseMerge cannot be used without a base" 1>&2
+		echo "$merge_tool_path cannot be used without a base" 1>&2
 		return 1
 	fi
 }
+
+translate_merge_tool_path() {
+	if type tortoisegitmerge >/dev/null 2>/dev/null
+	then
+		echo tortoisegitmerge
+	else
+		echo tortoisemerge
+	fi
+}