提交 e8c80638 编写于 作者: J Junio C Hamano

Merge with gitk.

This merges commit
    466e4fdd
from gitk into our head commit
    ef0bd2e6

Sincerely,
    jit-merge command.
......@@ -18,7 +18,7 @@ proc gitdir {} {
proc getcommits {rargs} {
global commits commfd phase canv mainfont env
global startmsecs nextupdate
global startmsecs nextupdate ncmupdate
global ctext maincursor textcursor leftover
# check that we can find a .git directory somewhere...
......@@ -31,6 +31,7 @@ proc getcommits {rargs} {
set phase getcommits
set startmsecs [clock clicks -milliseconds]
set nextupdate [expr $startmsecs + 100]
set ncmupdate 0
if [catch {
set parse_args [concat --default HEAD $rargs]
set parsed_args [split [eval exec git-rev-parse $parse_args] "\n"]
......@@ -49,7 +50,7 @@ proc getcommits {rargs} {
}
set leftover {}
fconfigure $commfd -blocking 0 -translation lf
fileevent $commfd readable "getcommitlines $commfd"
fileevent $commfd readable [list getcommitlines $commfd]
$canv delete all
$canv create text 3 3 -anchor nw -text "Reading commits..." \
-font $mainfont -tags textitems
......@@ -61,6 +62,7 @@ proc getcommitlines {commfd} {
global commits parents cdate children nchildren
global commitlisted phase commitinfo nextupdate
global stopped redisplaying leftover
global numcommits ncmupdate
set stuff [read $commfd]
if {$stuff == {}} {
......@@ -108,8 +110,10 @@ to allow selection of commits to be displayed.)}
set commitlisted($id) 1
parsecommit $id $cmit 1
drawcommit $id
if {[clock clicks -milliseconds] >= $nextupdate} {
if {[clock clicks -milliseconds] >= $nextupdate
&& $numcommits >= $ncmupdate + 100} {
doupdate
set ncmupdate $numcommits
}
while {$redisplaying} {
set redisplaying 0
......@@ -119,8 +123,10 @@ to allow selection of commits to be displayed.)}
foreach id $commits {
drawcommit $id
if {$stopped} break
if {[clock clicks -milliseconds] >= $nextupdate} {
if {[clock clicks -milliseconds] >= $nextupdate
&& $numcommits >= $ncmupdate + 100} {
doupdate
set ncmupdate $numcommits
}
}
}
......@@ -134,7 +140,7 @@ proc doupdate {} {
incr nextupdate 100
fileevent $commfd readable {}
update
fileevent $commfd readable "getcommitlines $commfd"
fileevent $commfd readable [list getcommitlines $commfd]
}
proc readcommit {id} {
......@@ -1090,7 +1096,7 @@ proc decidenext {{noread 0}} {
proc drawcommit {id} {
global phase todo nchildren datemode nextupdate
global startcommits
global startcommits numcommits ncmupdate
if {$phase != "incrdraw"} {
set phase incrdraw
......@@ -1119,8 +1125,10 @@ proc drawcommit {id} {
if {![info exists commitlisted($id)]} {
break
}
if {[clock clicks -milliseconds] >= $nextupdate} {
if {[clock clicks -milliseconds] >= $nextupdate
&& $numcommits >= $ncmupdate} {
doupdate
set ncmupdate $numcommits
if {$stopped} break
}
}
......@@ -1158,11 +1166,12 @@ proc settextcursor {c} {
}
proc drawgraph {} {
global nextupdate startmsecs startcommits todo
global nextupdate startmsecs startcommits todo ncmupdate
if {$startcommits == {}} return
set startmsecs [clock clicks -milliseconds]
set nextupdate [expr $startmsecs + 100]
set ncmupdate 0
initgraph
set todo [lindex $startcommits 0]
drawrest 0 1
......@@ -1171,7 +1180,7 @@ proc drawgraph {} {
proc drawrest {level startix} {
global phase stopped redisplaying selectedline
global datemode currentparents todo
global numcommits
global numcommits ncmupdate
global nextupdate startmsecs startcommits idline
if {$level >= 0} {
......@@ -1200,9 +1209,11 @@ proc drawrest {level startix} {
if {$level < 0} break
drawslants $level
}
if {[clock clicks -milliseconds] >= $nextupdate} {
if {[clock clicks -milliseconds] >= $nextupdate
&& $numcommits >= $ncmupdate + 100} {
update
incr nextupdate 100
set ncmupdate $numcommits
}
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册