mergetools: add vimdiff3 mode
authorFelipe Contreras <felipe.contreras@gmail.com>
Mon, 21 Apr 2014 00:24:20 +0000 (19:24 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 22 Apr 2014 19:49:07 +0000 (12:49 -0700)
It's similar to the default, except that the other windows are hidden.
This ensures that removed/added colors are still visible on the main
merge window, but the other windows not visible.

Specially useful with merge.conflictstyle=diff3.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Acked-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
mergetools/gvimdiff3 [new file with mode: 0644]
mergetools/vimdiff
mergetools/vimdiff3 [new file with mode: 0644]
diff --git a/mergetools/gvimdiff3 b/mergetools/gvimdiff3
new file mode 100644 (file)
index 0000000..04a5bb0
--- /dev/null
@@ -0,0 +1 @@
+. "$MERGE_TOOLS_DIR/vimdiff"
index 39d032771b8525253d3828fd68b2c7f6d6df8478..1ddfbfcd782d3b8d0e479cb0c5e29abce86e63c9 100644 (file)
@@ -20,16 +20,26 @@ merge_cmd () {
                "$merge_tool_path" -f -d -c 'wincmd l' \
                        "$LOCAL" "$MERGED" "$REMOTE"
                ;;
+       gvimdiff3|vimdiff3)
+               if $base_present
+               then
+                       "$merge_tool_path" -f -d -c 'hid | hid | hid' \
+                               "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
+               else
+                       "$merge_tool_path" -f -d -c 'hid | hid' \
+                               "$LOCAL" "$REMOTE" "$MERGED"
+               fi
+               ;;
        esac
        check_unchanged
 }
 
 translate_merge_tool_path() {
        case "$1" in
-       gvimdiff|gvimdiff2)
+       gvimdiff|gvimdiff2|gvimdiff3)
                echo gvim
                ;;
-       vimdiff|vimdiff2)
+       vimdiff|vimdiff2|vimdiff3)
                echo vim
                ;;
        esac
diff --git a/mergetools/vimdiff3 b/mergetools/vimdiff3
new file mode 100644 (file)
index 0000000..04a5bb0
--- /dev/null
@@ -0,0 +1 @@
+. "$MERGE_TOOLS_DIR/vimdiff"