Code

Improve the mingw getaddrinfo stub to handle more use cases
[git.git] / git-mergetool--lib.sh
index f9a51ba50448c8e275c14e0e33afa31239c890a9..77d4aee20ee5b8b01f9a0e3d1f8dbc9f7fdf3eb9 100644 (file)
@@ -10,10 +10,10 @@ merge_mode() {
 
 translate_merge_tool_path () {
        case "$1" in
-       vimdiff)
+       vimdiff|vimdiff2)
                echo vim
                ;;
-       gvimdiff)
+       gvimdiff|gvimdiff2)
                echo gvim
                ;;
        emerge)
@@ -47,7 +47,8 @@ check_unchanged () {
 valid_tool () {
        case "$1" in
        kdiff3 | tkdiff | xxdiff | meld | opendiff | \
-       emerge | vimdiff | gvimdiff | ecmerge | diffuse | araxis | p4merge)
+       vimdiff | gvimdiff | vimdiff2 | gvimdiff2 | \
+       emerge | ecmerge | diffuse | araxis | p4merge)
                ;; # happy
        tortoisemerge)
                if ! merge_mode; then
@@ -170,6 +171,22 @@ run_merge_tool () {
                fi
                ;;
        vimdiff|gvimdiff)
+               if merge_mode; then
+                       touch "$BACKUP"
+                       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
+                       check_unchanged
+               else
+                       "$merge_tool_path" -f -d -c "wincmd l" \
+                               "$LOCAL" "$REMOTE"
+               fi
+               ;;
+       vimdiff2|gvimdiff2)
                if merge_mode; then
                        touch "$BACKUP"
                        "$merge_tool_path" -f -d -c "wincmd l" \