about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorPat Thoyts <patthoyts@users.sourceforge.net>2011-03-25 08:26:47 +0000
committerPat Thoyts <patthoyts@users.sourceforge.net>2011-03-25 08:26:47 +0000
commitfbc9629e2f0cd31ab08638ebbd8f98a323329a5b (patch)
treeceab08c1317f01114d7283aba6d3fde72977bddd
parent35b6f72feb998add040d95a9c89ff7ecd4d74901 (diff)
parentf3768a6714e667205d68475df37a889abb59d2d5 (diff)
downloadgit-svn-gitgui-0.14.0.tar.gz
-rw-r--r--lib/mergetool.tcl101
1 files changed, 54 insertions, 47 deletions
diff --git a/lib/mergetool.tcl b/lib/mergetool.tcl
index 3fe90e6970..3c8e73bceb 100644
--- a/lib/mergetool.tcl
+++ b/lib/mergetool.tcl
@@ -175,43 +175,56 @@ proc merge_resolve_tool2 {} {
 
         # Build the command line
         switch -- $tool {
-        kdiff3 {
+        araxis {
                 if {$base_stage ne {}} {
-                        set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Base)" \
-                                --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE"]
+                        set cmdline [list "$merge_tool_path" -wait -merge -3 -a1 \
+                                -title1:"'$MERGED (Base)'" -title2:"'$MERGED (Local)'" \
+                                -title3:"'$MERGED (Remote)'" \
+                                "$BASE" "$LOCAL" "$REMOTE" "$MERGED"]
                 } else {
-                        set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Local)" \
-                                --L2 "$MERGED (Remote)" -o "$MERGED" "$LOCAL" "$REMOTE"]
+                        set cmdline [list "$merge_tool_path" -wait -2 \
+                                 -title1:"'$MERGED (Local)'" -title2:"'$MERGED (Remote)'" \
+                                 "$LOCAL" "$REMOTE" "$MERGED"]
                 }
         }
-        tkdiff {
+        bc3 {
                 if {$base_stage ne {}} {
-                        set cmdline [list "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"]
+                        set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" -mergeoutput="$MERGED"]
                 } else {
-                        set cmdline [list "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"]
+                        set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -mergeoutput="$MERGED"]
                 }
         }
-        meld {
-                set cmdline [list "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"]
+        ecmerge {
+                if {$base_stage ne {}} {
+                        set cmdline [list "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" --default --mode=merge3 --to="$MERGED"]
+                } else {
+                        set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" --default --mode=merge2 --to="$MERGED"]
+                }
+        }
+        emerge {
+                if {$base_stage ne {}} {
+                        set cmdline [list "$merge_tool_path" -f emerge-files-with-ancestor-command \
+                                        "$LOCAL" "$REMOTE" "$BASE" "$basename"]
+                } else {
+                        set cmdline [list "$merge_tool_path" -f emerge-files-command \
+                                        "$LOCAL" "$REMOTE" "$basename"]
+                }
         }
         gvimdiff {
                 set cmdline [list "$merge_tool_path" -f "$LOCAL" "$MERGED" "$REMOTE"]
         }
-        xxdiff {
+        kdiff3 {
                 if {$base_stage ne {}} {
-                        set cmdline [list "$merge_tool_path" -X --show-merged-pane \
-                                            -R {Accel.SaveAsMerged: "Ctrl-S"} \
-                                            -R {Accel.Search: "Ctrl+F"} \
-                                            -R {Accel.SearchForward: "Ctrl-G"} \
-                                            --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"]
+                        set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Base)" \
+                                --L2 "$MERGED (Local)" --L3 "$MERGED (Remote)" -o "$MERGED" "$BASE" "$LOCAL" "$REMOTE"]
                 } else {
-                        set cmdline [list "$merge_tool_path" -X --show-merged-pane \
-                                            -R {Accel.SaveAsMerged: "Ctrl-S"} \
-                                            -R {Accel.Search: "Ctrl+F"} \
-                                            -R {Accel.SearchForward: "Ctrl-G"} \
-                                            --merged-file "$MERGED" "$LOCAL" "$REMOTE"]
+                        set cmdline [list "$merge_tool_path" --auto --L1 "$MERGED (Local)" \
+                                --L2 "$MERGED (Remote)" -o "$MERGED" "$LOCAL" "$REMOTE"]
                 }
         }
+        meld {
+                set cmdline [list "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"]
+        }
         opendiff {
                 if {$base_stage ne {}} {
                         set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"]
@@ -219,22 +232,20 @@ proc merge_resolve_tool2 {} {
                         set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" -merge "$MERGED"]
                 }
         }
-        ecmerge {
-                if {$base_stage ne {}} {
-                        set cmdline [list "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" --default --mode=merge3 --to="$MERGED"]
-                } else {
-                        set cmdline [list "$merge_tool_path" "$LOCAL" "$REMOTE" --default --mode=merge2 --to="$MERGED"]
-                }
+        p4merge {
+                set cmdline [list "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"]
         }
-        emerge {
+        tkdiff {
                 if {$base_stage ne {}} {
-                        set cmdline [list "$merge_tool_path" -f emerge-files-with-ancestor-command \
-                                        "$LOCAL" "$REMOTE" "$BASE" "$basename"]
+                        set cmdline [list "$merge_tool_path" -a "$BASE" -o "$MERGED" "$LOCAL" "$REMOTE"]
                 } else {
-                        set cmdline [list "$merge_tool_path" -f emerge-files-command \
-                                        "$LOCAL" "$REMOTE" "$basename"]
+                        set cmdline [list "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"]
                 }
         }
+        vimdiff {
+                error_popup [mc "Not a GUI merge tool: '%s'" $tool]
+                return
+        }
         winmerge {
                 if {$base_stage ne {}} {
                         # This tool does not support 3-way merges.
@@ -245,25 +256,21 @@ proc merge_resolve_tool2 {} {
                                 -dl "Theirs File" -dr "Mine File" "$REMOTE" "$LOCAL" "$MERGED"]
                 }
         }
-        araxis {
+        xxdiff {
                 if {$base_stage ne {}} {
-                        set cmdline [list "$merge_tool_path" -wait -merge -3 -a1 \
-                                -title1:"'$MERGED (Base)'" -title2:"'$MERGED (Local)'" \
-                                -title3:"'$MERGED (Remote)'" \
-                                "$BASE" "$LOCAL" "$REMOTE" "$MERGED"]
+                        set cmdline [list "$merge_tool_path" -X --show-merged-pane \
+                                            -R {Accel.SaveAsMerged: "Ctrl-S"} \
+                                            -R {Accel.Search: "Ctrl+F"} \
+                                            -R {Accel.SearchForward: "Ctrl-G"} \
+                                            --merged-file "$MERGED" "$LOCAL" "$BASE" "$REMOTE"]
                 } else {
-                        set cmdline [list "$merge_tool_path" -wait -2 \
-                                 -title1:"'$MERGED (Local)'" -title2:"'$MERGED (Remote)'" \
-                                 "$LOCAL" "$REMOTE" "$MERGED"]
+                        set cmdline [list "$merge_tool_path" -X --show-merged-pane \
+                                            -R {Accel.SaveAsMerged: "Ctrl-S"} \
+                                            -R {Accel.Search: "Ctrl+F"} \
+                                            -R {Accel.SearchForward: "Ctrl-G"} \
+                                            --merged-file "$MERGED" "$LOCAL" "$REMOTE"]
                 }
         }
-        p4merge {
-                set cmdline [list "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"]
-        }
-        vimdiff {
-                error_popup [mc "Not a GUI merge tool: '%s'" $tool]
-                return
-        }
         default {
                 error_popup [mc "Unsupported merge tool '%s'" $tool]
                 return