diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2014-04-20 19:24:20 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-04-22 12:49:07 -0700 |
commit | 7c147b77d34f072c40b912fafba499727921fa6e (patch) | |
tree | d74950fe1df88876d77fbe9e4122bd1bddd9878a /mergetools/vimdiff | |
parent | Git 1.9.2 (diff) | |
download | tgif-7c147b77d34f072c40b912fafba499727921fa6e.tar.xz |
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>
Diffstat (limited to 'mergetools/vimdiff')
-rw-r--r-- | mergetools/vimdiff | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/mergetools/vimdiff b/mergetools/vimdiff index 39d032771b..1ddfbfcd78 100644 --- a/mergetools/vimdiff +++ b/mergetools/vimdiff @@ -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 |