From: Shawn O. Pearce Date: Fri, 26 Jan 2007 09:11:10 +0000 (-0500) Subject: git-gui: Don't allow merges in the middle of other things. X-Git-Tag: gitgui-0.6.0~36 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=5f39dbf64f5e57c6ab7b20ba8c397df1074bc30c;p=git.git 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 --- 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