gitk: Factored out some common code into a new start_rev_list procedure

Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Paul Mackerras 2005-12-01 22:42:46 +11:00
parent b5c2f30689
commit 38ad0910a0

56
gitk
View file

@ -32,10 +32,29 @@ proc parse_args {rargs} {
return $parsed_args
}
proc getcommits {rargs} {
global oldcommits commits commfd phase canv mainfont env
proc start_rev_list {rlargs} {
global startmsecs nextupdate ncmupdate
global ctext maincursor textcursor leftover gitencoding
global commfd leftover gitencoding
set startmsecs [clock clicks -milliseconds]
set nextupdate [expr {$startmsecs + 100}]
set ncmupdate 1
if [catch {
set commfd [open [concat | git-rev-list --header --topo-order \
--parents $rlargs] r]
} err] {
puts stderr "Error executing git-rev-list: $err"
exit 1
}
set leftover {}
fconfigure $commfd -blocking 0 -translation lf -encoding $gitencoding
fileevent $commfd readable [list getcommitlines $commfd]
. config -cursor watch
settextcursor watch
}
proc getcommits {rargs} {
global oldcommits commits phase canv mainfont env
# check that we can find a .git directory somewhere...
set gitdir [gitdir]
@ -46,24 +65,10 @@ proc getcommits {rargs} {
set oldcommits {}
set commits {}
set phase getcommits
set startmsecs [clock clicks -milliseconds]
set nextupdate [expr {$startmsecs + 100}]
set ncmupdate 1
set parsed_args [parse_args $rargs]
if [catch {
set commfd [open "|git-rev-list --header --topo-order --parents $parsed_args" r]
} err] {
puts stderr "Error executing git-rev-list: $err"
exit 1
}
set leftover {}
fconfigure $commfd -blocking 0 -translation lf -encoding $gitencoding
fileevent $commfd readable [list getcommitlines $commfd]
start_rev_list [parse_args $rargs]
$canv delete all
$canv create text 3 3 -anchor nw -text "Reading commits..." \
-font $mainfont -tags textitems
. config -cursor watch
settextcursor watch
}
proc getcommitlines {commfd} {
@ -3684,20 +3689,7 @@ proc updatecommits {rargs} {
}
readrefs
if [catch {
set commfd [open "|git-rev-list --header --topo-order --parents $ignoreold $args" r]
} err] {
puts stderr "Error executing git-rev-list: $err"
exit 1
}
set startmsecs [clock clicks -milliseconds]
set nextupdate [expr $startmsecs + 100]
set ncmupdate 1
set leftover {}
fconfigure $commfd -blocking 0 -translation lf
fileevent $commfd readable [list getcommitlines $commfd]
. config -cursor watch
settextcursor watch
start_rev_list [concat $ignoreold $args]
}
proc showtag {tag isnew} {