aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Lehmann <Jens.Lehmann@web.de>2009-12-07 21:35:59 +0100
committerShawn O. Pearce <spearce@spearce.org>2010-01-23 14:46:13 -0800
commit7ec2b69f1ad54db0acee165701c769de33f5ba13 (patch)
treedd88a03052a5a4b7c353a68e1824aebb394ec522
parente27d106ec4b2f68c210703e4bfa3a0a0cf2550a4 (diff)
downloadgit-7ec2b69f1ad54db0acee165701c769de33f5ba13.tar.gz
git-7ec2b69f1ad54db0acee165701c769de33f5ba13.tar.xz
git-gui: Correct file_states when unstaging partly staged entry
When unstaging a partly staged file or submodule, the file_states list was not updated properly (unless unstaged linewise). Its index_info part did not contain the former head_info as it should have but kept its old value. This seems not to have had any bad effects but diminishes the value of the file_states list for future enhancements. Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rwxr-xr-xgit-gui.sh3
1 files changed, 3 insertions, 0 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 211494587..e3473a81a 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -1613,6 +1613,9 @@ proc merge_state {path new_state {head_info {}} {index_info {}}} {
} elseif {$s0 ne {_} && [string index $state 0] eq {_}
&& $head_info eq {}} {
set head_info $index_info
+ } elseif {$s0 eq {_} && [string index $state 0] ne {_}} {
+ set index_info $head_info
+ set head_info {}
}
set file_states($path) [list $s0$s1 $icon \