提交 38ad0910 编写于 作者: P Paul Mackerras

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

Signed-off-by: NPaul Mackerras <paulus@samba.org>
上级 b5c2f306
......@@ -32,26 +32,16 @@ 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
# check that we can find a .git directory somewhere...
set gitdir [gitdir]
if {![file isdirectory $gitdir]} {
error_popup "Cannot find the git directory \"$gitdir\"."
exit 1
}
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]
set commfd [open [concat | git-rev-list --header --topo-order \
--parents $rlargs] r]
} err] {
puts stderr "Error executing git-rev-list: $err"
exit 1
......@@ -59,11 +49,26 @@ proc getcommits {rargs} {
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]
if {![file isdirectory $gitdir]} {
error_popup "Cannot find the git directory \"$gitdir\"."
exit 1
}
set oldcommits {}
set commits {}
set phase getcommits
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} {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册