summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3244729)
raw | patch | inline | side by side (parent: 3244729)
author | Paul Mackerras <paulus@samba.org> | |
Sun, 12 Aug 2007 07:23:47 +0000 (17:23 +1000) | ||
committer | Paul Mackerras <paulus@samba.org> | |
Sun, 12 Aug 2007 07:23:47 +0000 (17:23 +1000) |
Under some circumstances, having duplicate parents in a commit could
trigger a "can't unset idinlist" Tcl error. This fixes the cause
(the logic in layoutrows could end up putting the same commit into
rowidlist twice) and also puts a catch around the unset to ignore
the error.
Thanks to Jeff King for coming up with a test script to generate a
repo that shows the problem.
Signed-off-by: Paul Mackerras <paulus@samba.org>
trigger a "can't unset idinlist" Tcl error. This fixes the cause
(the logic in layoutrows could end up putting the same commit into
rowidlist twice) and also puts a catch around the unset to ignore
the error.
Thanks to Jeff King for coming up with a test script to generate a
repo that shows the problem.
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk | patch | blob | history |
index 6c2be3b7278927198bd937cbfb2dd7b0e3a0c481..44b04f017a0cadc56a1f3896d1d3d84657b21c58 100755 (executable)
--- a/gitk
+++ b/gitk
} elseif {!$idinlist($p)} {
lappend oldolds $p
}
+ set idinlist($p) 1
}
set nev [expr {[llength $idlist] + [llength $newolds]
+ [llength $oldolds] - $maxwidth + 1}]
lset offs $col {}
}
foreach i $newolds {
- set idinlist($i) 1
set idrowranges($i) $id
}
incr col $l
foreach oid $oldolds {
- set idinlist($oid) 1
set idlist [linsert $idlist $col $oid]
set offs [linsert $offs $col $o]
makeuparrow $oid $col $row $o
set col [expr {[llength $idlist] - 1}]
set id [lindex $idlist $col]
addextraid $id $row
- unset idinlist($id)
+ catch {unset idinlist($id)}
lappend idrowranges($id) $id
lappend rowrangelist $idrowranges($id)
unset idrowranges($id)