Open external merge tool with original file extensions for all three files
authorPini Reznik <pinir@expand.com>
Wed, 5 Dec 2007 07:19:13 +0000 (09:19 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Dec 2007 02:43:20 +0000 (18:43 -0800)
Before this change, conflicted files were open in external merge tool with
temporary filenames like REMOTE.$$ and LOCAL.$$.  This way meld was unable
to recognize these files and syntax highlighting feature was unusable.

Help such merge tools by giving temporar files the same extension as the
original.

Signed-off-by: Pini Reznik <pinir@expand.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-mergetool.sh

index 5587c5ecea0f6a97f2715636890c9e2f89845d52..2f31fa2417300180662b66afdde11bdf1d6febb2 100755 (executable)
@@ -152,10 +152,11 @@ merge_file () {
        exit 1
     fi
 
-    BACKUP="$path.BACKUP.$$"
-    LOCAL="$path.LOCAL.$$"
-    REMOTE="$path.REMOTE.$$"
-    BASE="$path.BASE.$$"
+    ext="$$$(expr "$path" : '.*\(\.[^/]*\)$')"
+    BACKUP="$path.BACKUP.$ext"
+    LOCAL="$path.LOCAL.$ext"
+    REMOTE="$path.REMOTE.$ext"
+    BASE="$path.BASE.$ext"
 
     mv -- "$path" "$BACKUP"
     cp -- "$BACKUP" "$path"