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

2 messages from 2008-09-30 to 2008-09-30. Participants: Johannes Sixt, Alexander Gavrilov.
Thread: https://gitlist.dev/t/15717

## Johannes Sixt, 2008-09-30 06:43

Subject: [PATCH] git-gui: Do not automatically stage file after merge tool finishes
Message-ID: <48E1CA7F.5050501@viscovery.net>
URL: https://gitlist.dev/e/48E1CA7F.5050501%40viscovery.net

```
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(-)

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, 2008-09-30 08:00

Subject: Re: [PATCH] git-gui: Do not automatically stage file after merge tool finishes
Message-ID: <200809301200.57353.angavrilov@gmail.com>
URL: https://gitlist.dev/e/200809301200.57353.angavrilov%40gmail.com
In-Reply-To: <48E1CA7F.5050501@viscovery.net>

```
On Tuesday 30 September 2008 10:43:11 Johannes Sixt wrote:
> 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

```
