Code

git-gui: Warn users before making an octopus merge
authorShawn O. Pearce <spearce@spearce.org>
Sun, 29 Apr 2007 01:26:27 +0000 (21:26 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 2 May 2007 17:06:09 +0000 (13:06 -0400)
A coworker who was new to git-gui recently tried to make an octopus
merge when he did not quite mean to.  Unfortunately in his case the
branches had file level conflicts and failed to merge with the octopus
strategy, and he didn't quite know why this happened.  Since most users
really don't want to perform an octopus merge this additional safety
valve in front of the merge process is a good thing.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui.sh

index f6c6d44357502672bca34be983eda8a5b29221c8..dd8a408c644ad190cf69aa60f8d62a6a2ed625be 100755 (executable)
@@ -2886,6 +2886,19 @@ proc start_local_merge_action {w} {
                set unit branch
        } elseif {$revcnt <= 15} {
                set unit branches
+
+               if {[tk_dialog \
+               $w.confirm_octopus \
+               [wm title $w] \
+               "Use octopus merge strategy?
+
+You are merging $revcnt branches at once.  This requires using the octopus merge driver, which may not succeed if there are file-level conflicts.
+" \
+               question \
+               0 \
+               {Cancel} \
+               {Use octopus} \
+               ] != 1} return
        } else {
                tk_messageBox \
                        -icon error \