diff options
| author | Junio C Hamano <gitster@pobox.com> | 2013-02-07 14:41:57 -0800 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2013-02-07 14:41:57 -0800 |
| commit | 55f56fee0765820d5c841e47b22f33f5a7253e16 (patch) | |
| tree | 77f46ce5ac859508725ae00d0f60b95b7799b671 /mergetools/vimdiff | |
| parent | Merge branch 'jk/doc-makefile-cleanup' (diff) | |
| parent | mergetools: simplify how we handle "vim" and "defaults" (diff) | |
| download | git-55f56fee0765820d5c841e47b22f33f5a7253e16.tar.gz git-55f56fee0765820d5c841e47b22f33f5a7253e16.zip | |
Merge branch 'jk/mergetool'
Cleans up mergetool/difftool combo.
* jk/mergetool:
mergetools: simplify how we handle "vim" and "defaults"
mergetool--lib: don't call "exit" in setup_tool
mergetool--lib: improve show_tool_help() output
mergetools/vim: remove redundant diff command
git-difftool: use git-mergetool--lib for "--tool-help"
git-mergetool: don't hardcode 'mergetool' in show_tool_help
git-mergetool: remove redundant assignment
git-mergetool: move show_tool_help to mergetool--lib
Diffstat (limited to 'mergetools/vimdiff')
| -rw-r--r-- | mergetools/vimdiff | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mergetools/vimdiff b/mergetools/vimdiff new file mode 100644 index 0000000000..39d032771b --- /dev/null +++ b/mergetools/vimdiff @@ -0,0 +1,36 @@ +diff_cmd () { + "$merge_tool_path" -R -f -d \ + -c 'wincmd l' -c 'cd $GIT_PREFIX' "$LOCAL" "$REMOTE" +} + +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 +} |
