@matheusbsbs / matheus-bagliano / commits / 000866909a
Fork 0

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>

Dan McGee committed Sep 27, 2010 at 10:19 UTC 000866909a5d9233c89d8fcc33a8125cc84f24d6
1 file changed +15 -3
git-mergetool--lib.sh
+15 -3
@@ -10,10 +10,10 @@ merge_mode() {
10
11 translate_merge_tool_path () {
12 case "$1" in
13 - vimdiff)
13 + vimdiff|vimdiff2)
14 echo vim
15 ;;
16 - gvimdiff)
16 + gvimdiff|gvimdiff2)
17 echo gvim
18 ;;
19 emerge)
@@ -47,7 +47,8 @@ check_unchanged () {
47 valid_tool () {
48 case "$1" in
49 kdiff3 | tkdiff | xxdiff | meld | opendiff | \
50 - emerge | vimdiff | gvimdiff | ecmerge | diffuse | araxis | p4merge)
50 + vimdiff | gvimdiff | vimdiff2 | gvimdiff2 | \
51 + emerge | ecmerge | diffuse | araxis | p4merge)
52 ;; # happy
53 tortoisemerge)
54 if ! merge_mode; then
@@ -185,6 +186,17 @@ run_merge_tool () {
186 "$LOCAL" "$REMOTE"
187 fi
188 ;;
189 + vimdiff2|gvimdiff2)
190 + if merge_mode; then
191 + touch "$BACKUP"
192 + "$merge_tool_path" -f -d -c "wincmd l" \
193 + "$LOCAL" "$MERGED" "$REMOTE"
194 + check_unchanged
195 + else
196 + "$merge_tool_path" -f -d -c "wincmd l" \
197 + "$LOCAL" "$REMOTE"
198 + fi
199 + ;;
200 xxdiff)
201 if merge_mode; then
202 touch "$BACKUP"