From 5f39dbf64f5e57c6ab7b20ba8c397df1074bc30c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 26 Jan 2007 04:11:10 -0500 Subject: [PATCH] git-gui: Don't allow merges in the middle of other things. If the user is in the middle of a commit they have files which are modified. These may conflict with any merge that they may want to perform, which would cause problems if the user wants to abort a bad merge as we wouldn't have a checkpoint to roll back onto. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index 31ef0e60a..ae883f90b 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2629,6 +2629,9 @@ The rescan will be automatically started now. foreach path [array names file_states] { switch -glob -- [lindex $file_states($path) 0] { + _O { + continue; # and pray it works! + } U? { error_popup "You are in the middle of a conflicted merge. @@ -2637,6 +2640,18 @@ File [short_path $path] has merge conflicts. You must resolve them, add the file, and commit to complete the current merge. Only then can you begin another merge. +" + unlock_index + return 0 + } + ?? { + error_popup "You are in the middle of a change. + +File [short_path $path] is modified. + +You should complete the current commit before +starting a merge. Doing so will help you abort +a failed merge, should the need arise. " unlock_index return 0 -- 2.30.2