- }
- drawcommit $id
- if {[clock clicks -milliseconds] >= $nextupdate} {
- doupdate
- }
- while {$redisplaying} {
- set redisplaying 0
- if {$stopped == 1} {
- set stopped 0
- set phase "getcommits"
- foreach id $commits {
- drawcommit $id
- if {$stopped} break
- if {[clock clicks -milliseconds] >= $nextupdate} {
- doupdate
+ set cmit [string range $stuff $start [expr {$i - 1}]]
+ if {$start == 0} {
+ set cmit "$leftover$cmit"
+ }
+ set start [expr {$i + 1}]
+ if {![regexp {^([0-9a-f]{40})\n} $cmit match id]} {
+ error_popup "Can't parse git-rev-list output: {$cmit}"
+ exit 1
+ }
+ set cmit [string range $cmit 41 end]
+ lappend commits $id
+ set commitlisted($id) 1
+ parsecommit $id $cmit 1
+ drawcommit $id
+ if {[clock clicks -milliseconds] >= $nextupdate} {
+ doupdate
+ }
+ while {$redisplaying} {
+ set redisplaying 0
+ if {$stopped == 1} {
+ set stopped 0
+ set phase "getcommits"
+ foreach id $commits {
+ drawcommit $id
+ if {$stopped} break
+ if {[clock clicks -milliseconds] >= $nextupdate} {
+ doupdate
+ }