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 <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2007-01-26 04:11:10 -05:00
parent dff7e88feb
commit 5f39dbf64f

View File

@ -2629,6 +2629,9 @@ The rescan will be automatically started now.
foreach path [array names file_states] { foreach path [array names file_states] {
switch -glob -- [lindex $file_states($path) 0] { switch -glob -- [lindex $file_states($path) 0] {
_O {
continue; # and pray it works!
}
U? { U? {
error_popup "You are in the middle of a conflicted merge. 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 You must resolve them, add the file, and commit to
complete the current merge. Only then can you complete the current merge. Only then can you
begin another merge. 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 unlock_index
return 0 return 0