Code

git-gui: Do not automatically stage file after merge tool finishes
authorJohannes Sixt <johannes.sixt@telecom.at>
Wed, 24 Sep 2008 19:08:01 +0000 (21:08 +0200)
committerShawn O. Pearce <spearce@spearce.org>
Tue, 30 Sep 2008 18:40:48 +0000 (11:40 -0700)
If a merge tool was invoked on a conflicted file and the tool completed,
then the conflicted file was staged automatically. However, the fact that
the user closed the merge tool cannot be understood as the unequivocal
sign that the conflict was completely resolved. For example, the user
could have decided to postpone the resolution of the conflict, or could
have accidentally closed the tool. We better leave the file unstaged and
let the user stage it explicitly.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
lib/mergetool.tcl

index 6ab5701d937b9a719570907e745609b60d1d56a8..8d1ee5b11d01496c608d639845b680c42dc8a0ef 100644 (file)
@@ -375,14 +375,6 @@ proc merge_tool_finish {fd} {
                }
        }
 
-       # Check the modification time of the target file
-       if {!$failed && [file mtime $mtool_target] eq $mtool_mtime} {
-               if {[ask_popup [mc "File %s unchanged, still accept as resolved?" \
-                               [short_path $mtool_target]]] ne {yes}} {
-                       set failed 1
-               }
-       }
-
        # Finish
        if {$failed} {
                file rename -force -- $backup $mtool_target
@@ -395,6 +387,6 @@ proc merge_tool_finish {fd} {
 
                delete_temp_files $mtool_tmpfiles
 
-               merge_add_resolution $mtool_target
+               reshow_diff
        }
 }