From dde5974ef109ed3aadfbac4d233899fb04d1c9ff Mon Sep 17 00:00:00 2001
From: "Shawn O. Pearce" <spearce@spearce.org>
Date: Sun, 19 Nov 2006 00:46:08 -0500
Subject: [PATCH] git-gui: Correct toggling of deleted file status.

There was a bug with the way we handled deleted file status.  A file
really shouldn't be in D_ state when it has been deleted, instead it
is really DD.  Therefore we should have toggled _D to DD, not D_,
thereby letting us toggle back to _D.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 git-gui | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/git-gui b/git-gui
index 7126f8d897d..7ea31e50892 100755
--- a/git-gui
+++ b/git-gui
@@ -1022,6 +1022,8 @@ proc commit_committree {fd_wt curHEAD msg} {
 		set s $file_states($path)
 		set m [lindex $s 0]
 		switch -glob -- $m {
+		DD -
+		AO {set m __}
 		A? -
 		M? -
 		D? {set m _[string index $m 1]}
@@ -1409,7 +1411,7 @@ proc write_update_index {fd pathList totalCnt batch msg after} {
 		switch -glob -- [lindex $file_states($path) 0] {
 		AD -
 		MD -
-		_D {set new D_}
+		_D {set new DD}
 
 		_M -
 		MM -
@@ -2414,6 +2416,7 @@ proc toggle_or_diff {w x y} {
 		A_ -
 		AO -
 		M_ -
+		DD -
 		D_ {
 			update_indexinfo \
 				"Removing [short_path $path] from commit" \