diff options
author | David Aguilar <davvid@gmail.com> | 2013-01-26 16:46:12 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-01-28 19:00:38 -0800 |
commit | 073678b8e6324a155fa99f40eee0637941a70a34 (patch) | |
tree | f9bdd837ffdfb50efabf58a73769477202e70b50 /mergetools/vimdiff | |
parent | 62957bea0c7637ae1db4452fc165c59d9408585b (diff) | |
download | git-073678b8e6324a155fa99f40eee0637941a70a34.tar.gz |
mergetools: simplify how we handle "vim" and "defaults"
Remove the exceptions for "vim" and "defaults" in the mergetool library
so that every filename in mergetools/ matches 1:1 with the name of a
valid built-in tool.
Define the trivial fallback definition of shell functions in-line in
git-mergetool-lib script, instead of dot-sourcing them from another
file. The result is much easier to follow.
[jc: squashed in an update from John Keeping as well]
Signed-off-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 | 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 +} |