Skip to content

Commit 0141215

Browse files
committed
Merge branch 'dm/mergetool-vimdiff'
* dm/mergetool-vimdiff: mergetool-lib: make the three-way diff the default for vim/gvim mergetool-lib: add a three-way diff view for vim/gvim mergetool-lib: combine vimdiff and gvimdiff run blocks
2 parents 91e811e + 0008669 commit 0141215

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

git-mergetool--lib.sh

Lines changed: 16 additions & 10 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
@@ -169,25 +170,30 @@ run_merge_tool () {
169170
"$merge_tool_path" "$LOCAL" "$REMOTE" | cat
170171
fi
171172
;;
172-
vimdiff)
173+
vimdiff|gvimdiff)
173174
if merge_mode; then
174175
touch "$BACKUP"
175-
"$merge_tool_path" -d -c "wincmd l" \
176-
"$LOCAL" "$MERGED" "$REMOTE"
176+
if $base_present; then
177+
"$merge_tool_path" -f -d -c "wincmd J" \
178+
"$MERGED" "$LOCAL" "$BASE" "$REMOTE"
179+
else
180+
"$merge_tool_path" -f -d -c "wincmd l" \
181+
"$LOCAL" "$MERGED" "$REMOTE"
182+
fi
177183
check_unchanged
178184
else
179-
"$merge_tool_path" -d -c "wincmd l" \
185+
"$merge_tool_path" -f -d -c "wincmd l" \
180186
"$LOCAL" "$REMOTE"
181187
fi
182188
;;
183-
gvimdiff)
189+
vimdiff2|gvimdiff2)
184190
if merge_mode; then
185191
touch "$BACKUP"
186-
"$merge_tool_path" -d -c "wincmd l" -f \
192+
"$merge_tool_path" -f -d -c "wincmd l" \
187193
"$LOCAL" "$MERGED" "$REMOTE"
188194
check_unchanged
189195
else
190-
"$merge_tool_path" -d -c "wincmd l" -f \
196+
"$merge_tool_path" -f -d -c "wincmd l" \
191197
"$LOCAL" "$REMOTE"
192198
fi
193199
;;

0 commit comments

Comments
 (0)