mergetool-lib: make the three-way diff the default for vim/gvim

The original vimdiff/gvimdiff configuration is now available by using
'vimdiff2' or 'gvimdiff2' as the preferred merge tool.

Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Dan McGee 2010-09-27 10:19:09 -05:00 committed by Junio C Hamano
parent 829ef383a2
commit 000866909a

View File

@ -10,10 +10,10 @@ merge_mode() {
translate_merge_tool_path () { translate_merge_tool_path () {
case "$1" in case "$1" in
vimdiff) vimdiff|vimdiff2)
echo vim echo vim
;; ;;
gvimdiff) gvimdiff|gvimdiff2)
echo gvim echo gvim
;; ;;
emerge) emerge)
@ -47,7 +47,8 @@ check_unchanged () {
valid_tool () { valid_tool () {
case "$1" in case "$1" in
kdiff3 | tkdiff | xxdiff | meld | opendiff | \ kdiff3 | tkdiff | xxdiff | meld | opendiff | \
emerge | vimdiff | gvimdiff | ecmerge | diffuse | araxis | p4merge) vimdiff | gvimdiff | vimdiff2 | gvimdiff2 | \
emerge | ecmerge | diffuse | araxis | p4merge)
;; # happy ;; # happy
tortoisemerge) tortoisemerge)
if ! merge_mode; then if ! merge_mode; then
@ -185,6 +186,17 @@ run_merge_tool () {
"$LOCAL" "$REMOTE" "$LOCAL" "$REMOTE"
fi fi
;; ;;
vimdiff2|gvimdiff2)
if merge_mode; then
touch "$BACKUP"
"$merge_tool_path" -f -d -c "wincmd l" \
"$LOCAL" "$MERGED" "$REMOTE"
check_unchanged
else
"$merge_tool_path" -f -d -c "wincmd l" \
"$LOCAL" "$REMOTE"
fi
;;
xxdiff) xxdiff)
if merge_mode; then if merge_mode; then
touch "$BACKUP" touch "$BACKUP"