gitk: Re-read the descendent/ancestor tag & head info on update
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
		
							
								
								
									
										18
									
								
								gitk
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								gitk
									
									
									
									
									
								
							@ -238,6 +238,7 @@ proc updatecommits {} {
 | 
				
			|||||||
    catch {unset selectedline}
 | 
					    catch {unset selectedline}
 | 
				
			||||||
    catch {unset thickerline}
 | 
					    catch {unset thickerline}
 | 
				
			||||||
    catch {unset viewdata($n)}
 | 
					    catch {unset viewdata($n)}
 | 
				
			||||||
 | 
					    discardallcommits
 | 
				
			||||||
    readrefs
 | 
					    readrefs
 | 
				
			||||||
    showview $n
 | 
					    showview $n
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -4988,15 +4989,30 @@ proc wrcomcan {} {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Stuff for finding nearby tags
 | 
					# Stuff for finding nearby tags
 | 
				
			||||||
proc getallcommits {} {
 | 
					proc getallcommits {} {
 | 
				
			||||||
    global allcstart allcommits
 | 
					    global allcstart allcommits allcfd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    set fd [open [concat | git rev-list --all --topo-order --parents] r]
 | 
					    set fd [open [concat | git rev-list --all --topo-order --parents] r]
 | 
				
			||||||
 | 
					    set allcfd $fd
 | 
				
			||||||
    fconfigure $fd -blocking 0
 | 
					    fconfigure $fd -blocking 0
 | 
				
			||||||
    set allcommits "reading"
 | 
					    set allcommits "reading"
 | 
				
			||||||
    nowbusy allcommits
 | 
					    nowbusy allcommits
 | 
				
			||||||
    restartgetall $fd
 | 
					    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} {
 | 
					proc restartgetall {fd} {
 | 
				
			||||||
    global allcstart
 | 
					    global allcstart
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user