Merge branch 'ss/mergetools-tortoise'
authorJunio C Hamano <gitster@pobox.com>
Thu, 7 Feb 2013 22:42:01 +0000 (14:42 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 7 Feb 2013 22:42:01 +0000 (14:42 -0800)
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

mergetools/tortoisemerge

index ed7db495eda9b70bee7e077a0de07d30518cbf2a..3b89f1c82dc944fcbec889d24e8e7032fda612fc 100644 (file)
@@ -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
+}