Browse Source

Merge with gitk.

This merges commit
    466e4fdd66
from gitk into our head commit
    ef0bd2e6e6

Sincerely,
    jit-merge command.
maint
Junio C Hamano 20 years ago
parent
commit
e8c80638ab
  1. 31
      gitk

31
gitk

@ -18,7 +18,7 @@ proc gitdir {} { @@ -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} { @@ -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} { @@ -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} { @@ -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.)} @@ -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.)} @@ -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 {} { @@ -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}} { @@ -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} { @@ -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} { @@ -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 {} { @@ -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} { @@ -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
}
}
}

Loading…
Cancel
Save