mergetools: add vimdiff3 mode
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>
Felipe Contreras committed
Apr 20, 2014 at 19:24 UTC
7c147b77d34f072c40b912fafba499727921fa6e
3 files changed
+14
-2
mergetools/gvimdiff3
new
+1
@@ -0,0 +1 @@
1
+. "$MERGE_TOOLS_DIR/vimdiff"
mergetools/vimdiff
+12
-2
@@ -20,16 +20,26 @@ merge_cmd () {
20
"$merge_tool_path" -f -d -c 'wincmd l' \
21
"$LOCAL" "$MERGED" "$REMOTE"
22
;;
23
+ gvimdiff3|vimdiff3)
24
+ if $base_present
25
+ then
26
+ "$merge_tool_path" -f -d -c 'hid | hid | hid' \
27
+ "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
28
+ else
29
+ "$merge_tool_path" -f -d -c 'hid | hid' \
30
+ "$LOCAL" "$REMOTE" "$MERGED"
31
+ fi
32
+ ;;
33
esac
34
check_unchanged
35
}
36
37
translate_merge_tool_path() {
38
case "$1" in
29
- gvimdiff|gvimdiff2)
39
+ gvimdiff|gvimdiff2|gvimdiff3)
40
echo gvim
41
;;
32
- vimdiff|vimdiff2)
42
+ vimdiff|vimdiff2|vimdiff3)
43
echo vim
44
;;
45
esac
mergetools/vimdiff3
new
+1
@@ -0,0 +1 @@
1
+. "$MERGE_TOOLS_DIR/vimdiff"