threads / patch / 15717

patchgit-gui: Do not automatically stage file after merge tool finishes

Subject: [PATCH] git-gui: Do not automatically stage file after merge tool finishes

## tl;dr

2 messages between Sep 30, 2008 and Sep 30, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Johannes Sixt· Sep 30, 2008, 06:43 UTC · lore
From: Johannes Sixt <johannes.sixt@telecom.at>

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.

Since the file is not staged anyway, the check for an unmodified timestamp is pointless and removed.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
---
 I had sent this patch last week (but marked as RFC). Here it is again
 without 'RFC' because I think it is a necessary change.
 -- Hannes
 lib/mergetool.tcl |   10 +---------
 1 files changed, 1 insertions(+), 9 deletions(-)
Show changes to lib/mergetool.tcl +1 −9
diff --git a/lib/mergetool.tcl b/lib/mergetool.tcl
index 6ab5701..8d1ee5b 100644
--- a/lib/mergetool.tcl
+++ b/lib/mergetool.tcl
@@ -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
 	}
 }
-- 
1.6.0.2.1262.ge466e
Alexander Gavrilov· Sep 30, 2008, 08:00 UTC · re: Johannes Sixt · lore

Re: [PATCH] git-gui: Do not automatically stage file after merge tool finishes

On Tuesday 30 September 2008 10:43:11 Johannes Sixt wrote:
Show 17 quoted lines
> From: Johannes Sixt <johannes.sixt@telecom.at>
> 
> 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.
> 
> Since the file is not staged anyway, the check for an unmodified
> timestamp is pointless and removed.
> 
> Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
> ---
>  I had sent this patch last week (but marked as RFC). Here it is again
>  without 'RFC' because I think it is a necessary change.

Now that the issue with staging of working copy files is more or less resolved, I agree that it is better to disable automatic staging.

Alexander

← back to recent threads