Differences From:
File
tools/cvs2fossil/lib/c2f_cyclebreaker.tcl
part of check-in
[0af7a3c8ac]
- Easier name for self-referential changesets, loopcheck. Made conditional on option --loopcheck, default off, and avoided if the general checks on changesets report trouble. Reinstated the loop check in the cycle breaker core in simpler form, reusing the new command in the changeset class.
by
aku on
2007-11-30 06:57:19.
[view]
To:
File
tools/cvs2fossil/lib/c2f_cyclebreaker.tcl
part of check-in
[41d41c7b57]
- Added progress output to the code loading up the graph to traverse, nodes, and arcs.
by
aku on
2007-12-02 03:41:33.
[view]
@@ -174,9 +174,13 @@
}
set dg [struct::graph dg]
+ set n 0
+ set max [llength $changesets]
+
foreach cset $changesets {
+ log progress 2 cyclebreaker $n $max
set tr [$cset timerange]
$dg node insert $cset
$dg node set $cset timerange $tr
$dg node set $cset label "[$cset str]\\n[join [struct::list map $tr {::clock format}] "\\n"]"
@@ -183,8 +187,9 @@
$dg node set $cset __id__ [$cset id]
$dg node set $cset shape [expr {[$cset bysymbol]
? "ellipse"
: "box"}]
+ incr n
}
if {$log} {
log write 3 cyclebreaker "Has [nsp [llength $changesets] changeset]"
@@ -193,9 +198,11 @@
# 2. Find for all relevant changeset their revisions and their
# dependencies. Map the latter back to changesets and
# construct the corresponding arcs.
+ set n 0
foreach cset $changesets {
+ log progress 2 cyclebreaker $n $max
foreach succ [$cset successors] {
# Changesets may have dependencies outside of the
# chosen set. These are ignored
if {![$dg node exists $succ]} continue
@@ -204,8 +211,9 @@
$cset loopcheck
trouble fatal "[$cset str] depends on itself"
}
}
+ incr n
}
if {$log} {
log write 3 cyclebreaker "Has [nsp [llength [$dg arcs]] dependency dependencies]"