Browse Source

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

Signed-off-by: Paul Mackerras <paulus@samba.org>
maint
Paul Mackerras 19 years ago
parent
commit
38ad0910a0
  1. 52
      gitk

52
gitk

@ -32,26 +32,16 @@ proc parse_args {rargs} {
return $parsed_args return $parsed_args
} }


proc getcommits {rargs} { proc start_rev_list {rlargs} {
global oldcommits commits commfd phase canv mainfont env
global startmsecs nextupdate ncmupdate 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 startmsecs [clock clicks -milliseconds]
set nextupdate [expr {$startmsecs + 100}] set nextupdate [expr {$startmsecs + 100}]
set ncmupdate 1 set ncmupdate 1
set parsed_args [parse_args $rargs]
if [catch { 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] { } err] {
puts stderr "Error executing git-rev-list: $err" puts stderr "Error executing git-rev-list: $err"
exit 1 exit 1
@ -59,11 +49,26 @@ proc getcommits {rargs} {
set leftover {} set leftover {}
fconfigure $commfd -blocking 0 -translation lf -encoding $gitencoding fconfigure $commfd -blocking 0 -translation lf -encoding $gitencoding
fileevent $commfd readable [list getcommitlines $commfd] 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 delete all
$canv create text 3 3 -anchor nw -text "Reading commits..." \ $canv create text 3 3 -anchor nw -text "Reading commits..." \
-font $mainfont -tags textitems -font $mainfont -tags textitems
. config -cursor watch
settextcursor watch
} }


proc getcommitlines {commfd} { proc getcommitlines {commfd} {
@ -3684,20 +3689,7 @@ proc updatecommits {rargs} {
} }


readrefs readrefs
if [catch { start_rev_list [concat $ignoreold $args]
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
} }


proc showtag {tag isnew} { proc showtag {tag isnew} {

Loading…
Cancel
Save