summaryrefslogtreecommitdiff
path: root/mergetools/vim
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2011-08-25 16:00:43 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2011-08-25 16:00:43 -0700
commit3f1c70f717da3c9ec6ae3744593c7f9f3729aad7 (patch)
tree2ae895eba594851c845af80b4d60cd584e59f0b6 /mergetools/vim
parentMerge branch 'jc/maint-autofix-tag-in-head' (diff)
parentmergetools/meld: Use '--output' when available (diff)
downloadtgif-3f1c70f717da3c9ec6ae3744593c7f9f3729aad7.tar.xz
Merge branch 'da/difftool-mergtool-refactor'
* da/difftool-mergtool-refactor: mergetools/meld: Use '--output' when available mergetool--lib: Refactor tools into separate files mergetool--lib: Make style consistent with git difftool--helper: Make style consistent with git
Diffstat (limited to 'mergetools/vim')
-rw-r--r--mergetools/vim44
1 files changed, 44 insertions, 0 deletions
diff --git a/mergetools/vim b/mergetools/vim
new file mode 100644
index 0000000000..619594ae4b
--- /dev/null
+++ b/mergetools/vim
@@ -0,0 +1,44 @@
+diff_cmd () {
+ case "$1" in
+ gvimdiff|vimdiff)
+ "$merge_tool_path" -R -f -d \
+ -c 'wincmd l' -c 'cd $GIT_PREFIX' "$LOCAL" "$REMOTE"
+ ;;
+ gvimdiff2|vimdiff2)
+ "$merge_tool_path" -R -f -d \
+ -c 'wincmd l' -c 'cd $GIT_PREFIX' "$LOCAL" "$REMOTE"
+ ;;
+ esac
+}
+
+merge_cmd () {
+ touch "$BACKUP"
+ case "$1" in
+ gvimdiff|vimdiff)
+ if $base_present
+ then
+ "$merge_tool_path" -f -d -c 'wincmd J' \
+ "$MERGED" "$LOCAL" "$BASE" "$REMOTE"
+ else
+ "$merge_tool_path" -f -d -c 'wincmd l' \
+ "$LOCAL" "$MERGED" "$REMOTE"
+ fi
+ ;;
+ gvimdiff2|vimdiff2)
+ "$merge_tool_path" -f -d -c 'wincmd l' \
+ "$LOCAL" "$MERGED" "$REMOTE"
+ ;;
+ esac
+ check_unchanged
+}
+
+translate_merge_tool_path() {
+ case "$1" in
+ gvimdiff|gvimdiff2)
+ echo gvim
+ ;;
+ vimdiff|vimdiff2)
+ echo vim
+ ;;
+ esac
+}