Skip to content

Commit 0008669

Browse files
toofishesgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 829ef38 commit 0008669

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

git-mergetool--lib.sh

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ merge_mode() {
1010

1111
translate_merge_tool_path () {
1212
case "$1" in
13-
vimdiff)
13+
vimdiff|vimdiff2)
1414
echo vim
1515
;;
16-
gvimdiff)
16+
gvimdiff|gvimdiff2)
1717
echo gvim
1818
;;
1919
emerge)
@@ -47,7 +47,8 @@ check_unchanged () {
4747
valid_tool () {
4848
case "$1" in
4949
kdiff3 | tkdiff | xxdiff | meld | opendiff | \
50-
emerge | vimdiff | gvimdiff | ecmerge | diffuse | araxis | p4merge)
50+
vimdiff | gvimdiff | vimdiff2 | gvimdiff2 | \
51+
emerge | ecmerge | diffuse | araxis | p4merge)
5152
;; # happy
5253
tortoisemerge)
5354
if ! merge_mode; then
@@ -185,6 +186,17 @@ run_merge_tool () {
185186
"$LOCAL" "$REMOTE"
186187
fi
187188
;;
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+
;;
188200
xxdiff)
189201
if merge_mode; then
190202
touch "$BACKUP"

0 commit comments

Comments
 (0)