summaryrefslogtreecommitdiff
path: root/mergetools/vimdiff
diff options
context:
space:
mode:
authorLibravatar Felipe Contreras <felipe.contreras@gmail.com>2014-04-20 19:24:20 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-04-22 12:49:07 -0700
commit7c147b77d34f072c40b912fafba499727921fa6e (patch)
treed74950fe1df88876d77fbe9e4122bd1bddd9878a /mergetools/vimdiff
parentGit 1.9.2 (diff)
downloadtgif-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/vimdiff14
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