From 333b0c74b33fe54f0489813950345edbeb62c0b5 Mon Sep 17 00:00:00 2001
From: "Shawn O. Pearce" <spearce@spearce.org>
Date: Sun, 12 Nov 2006 18:03:19 -0500
Subject: [PATCH] git-gui: Remove the commit_active global variable.

We were originally trying to use $commit_active to tell us if there was
a commit currently in progress, just so we didn't attempt to start a
second (parallel) one by mistake.  But really the index lock handles
this for us as it won't let us lock the index if it is already locked
for update.  So this can't happen.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 git-gui | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/git-gui b/git-gui
index bee17de4ddc..3ccf0a41deb 100755
--- a/git-gui
+++ b/git-gui
@@ -183,7 +183,6 @@ if {$appname == {git-citool}} {
 
 set status_active 0
 set diff_active 0
-set commit_active 0
 
 set disable_on_lock [list]
 set index_lock_type none
@@ -664,10 +663,10 @@ proc load_last_commit {} {
 
 proc commit_tree {} {
 	global tcl_platform HEAD gitdir commit_type file_states
-	global commit_active pch_error
+	global pch_error
 	global ui_status_value ui_comm
 
-	if {$commit_active || ![lock_index update]} return
+	if {![lock_index update]} return
 
 	# -- Our in memory state should match the repository.
 	#
@@ -739,8 +738,6 @@ A good commit message has the following format:
 		return
 	}
 
-	set commit_active 1
-
 	# -- Ask the pre-commit hook for the go-ahead.
 	#
 	set pchook [file join $gitdir hooks pre-commit]
@@ -767,7 +764,7 @@ A good commit message has the following format:
 }
 
 proc commit_stage1 {fd_ph curHEAD msg} {
-	global commit_active pch_error ui_status_value
+	global pch_error ui_status_value
 
 	append pch_error [read $fd_ph]
 	fconfigure $fd_ph -blocking 1
@@ -776,14 +773,13 @@ proc commit_stage1 {fd_ph curHEAD msg} {
 			set ui_status_value {Commit declined by pre-commit hook.}
 			hook_failed_popup pre-commit $pch_error
 			unlock_index
-			set commit_active 0
-			set pch_error {}
-			return
+		} else {
+			commit_stage2 $curHEAD $msg
 		}
-		commit_stage2 $curHEAD $msg
-		return
+		set pch_error {}
+	} else {
+		fconfigure $fd_ph -blocking 0
 	}
-	fconfigure $fd_ph -blocking 0
 }
 
 proc commit_stage2 {curHEAD msg} {
@@ -798,13 +794,12 @@ proc commit_stage2 {curHEAD msg} {
 
 proc commit_stage3 {fd_wt curHEAD msg} {
 	global single_commit gitdir HEAD PARENT commit_type
-	global commit_active ui_status_value ui_comm
+	global ui_status_value ui_comm
 	global file_states
 
 	gets $fd_wt tree_id
 	if {$tree_id == {} || [catch {close $fd_wt} err]} {
 		error_popup "write-tree failed:\n\n$err"
-		set commit_active 0
 		set ui_status_value {Commit failed.}
 		unlock_index
 		return
@@ -825,7 +820,6 @@ proc commit_stage3 {fd_wt curHEAD msg} {
 				close $fd_mh
 			} err]} {
 			error_popup "Loading MERGE_HEAD failed:\n\n$err"
-			set commit_active 0
 			set ui_status_value {Commit failed.}
 			unlock_index
 			return
@@ -838,7 +832,6 @@ proc commit_stage3 {fd_wt curHEAD msg} {
 	lappend cmd << $msg
 	if {[catch {set cmt_id [eval exec $cmd]} err]} {
 		error_popup "commit-tree failed:\n\n$err"
-		set commit_active 0
 		set ui_status_value {Commit failed.}
 		unlock_index
 		return
@@ -859,7 +852,6 @@ proc commit_stage3 {fd_wt curHEAD msg} {
 	set cmd [list git update-ref -m $reflogm HEAD $cmt_id $curHEAD]
 	if {[catch {eval exec $cmd} err]} {
 		error_popup "update-ref failed:\n\n$err"
-		set commit_active 0
 		set ui_status_value {Commit failed.}
 		unlock_index
 		return
@@ -886,7 +878,6 @@ proc commit_stage3 {fd_wt curHEAD msg} {
 
 	# -- Update status without invoking any git commands.
 	#
-	set commit_active 0
 	set commit_type normal
 	set HEAD $cmt_id
 	set PARENT $cmt_id