summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Paul Mackerras <paulus@samba.org>2006-06-07 09:19:45 +1000
committerLibravatar Paul Mackerras <paulus@samba.org>2006-06-07 09:19:45 +1000
commit2d71bcccc81e3569d97dd1314c3ca0f080f4a70f (patch)
tree52390a4d159d1b9ffd9757ac39fb12e9619fadca
parentgitk: Show branch name(s) as well, if "show nearby tags" is enabled (diff)
downloadtgif-2d71bcccc81e3569d97dd1314c3ca0f080f4a70f.tar.xz
gitk: Re-read the descendent/ancestor tag & head info on update
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rwxr-xr-xgitk18
1 files changed, 17 insertions, 1 deletions
diff --git a/gitk b/gitk
index 91c11a368f..9be10a43e6 100755
--- a/gitk
+++ b/gitk
@@ -238,6 +238,7 @@ proc updatecommits {} {
catch {unset selectedline}
catch {unset thickerline}
catch {unset viewdata($n)}
+ discardallcommits
readrefs
showview $n
}
@@ -4988,15 +4989,30 @@ proc wrcomcan {} {
# Stuff for finding nearby tags
proc getallcommits {} {
- global allcstart allcommits
+ global allcstart allcommits allcfd
set fd [open [concat | git rev-list --all --topo-order --parents] r]
+ set allcfd $fd
fconfigure $fd -blocking 0
set allcommits "reading"
nowbusy allcommits
restartgetall $fd
}
+proc discardallcommits {} {
+ global allparents allchildren allcommits allcfd
+ global desc_tags anc_tags alldtags tagisdesc allids desc_heads
+
+ if {![info exists allcommits]} return
+ if {$allcommits eq "reading"} {
+ catch {close $allcfd}
+ }
+ foreach v {allcommits allchildren allparents allids desc_tags anc_tags
+ alldtags tagisdesc desc_heads} {
+ catch {unset $v}
+ }
+}
+
proc restartgetall {fd} {
global allcstart