Differences From:
File
tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
part of check-in
[7f15be9078]
- Added the ability to export the changeset graphs processed by the passes 6 to 8 using GraphViz's dot-format. This is activated by using the switch '--dots'. Bugfixes in the cycle breaker. First corrected variable names, I forgot to use the standard 'myXXX' format for the typevariables. Second, fixed a bug uncovered by looking at the exported graphs, which caused the system to loose arcs, possibly breaking cycles without actually breaking them, leaving them in the dependencies.
by
aku on
2007-11-20 06:59:03.
[view]
To:
File
tools/cvs2fossil/lib/c2f_pbreakrcycle.tcl
part of check-in
[d58423cdc4]
- API change cycle breaker. The save callback command is now specified through a separate configuration command. Moved callback invokation to helper command. Updated pass 6. Moved changeset selection to helper command.
by
aku on
2007-11-21 03:46:22.
[view]
@@ -73,17 +73,18 @@
typemethod run {} {
# Pass manager interface. Executed to perform the
# functionality of the pass.
- set changesets [struct::list filter [project::rev all] [myproc IsByRevision]]
+ set changesets [Changesets]
cyclebreaker dot break-rev-start $changesets
+ cyclebreaker savecmd [myproc SaveOrder]
+
state transaction {
- cyclebreaker run break-rev $changesets [myproc SaveOrder]
+ cyclebreaker run break-rev $changesets
}
- set changesets [struct::list filter [project::rev all] [myproc IsByRevision]]
- cyclebreaker dot break-rev-done $changesets
+ cyclebreaker dot break-rev-done [Changesets]
repository printcsetstatistics
return
}
@@ -98,8 +99,12 @@
}
# # ## ### ##### ######## #############
## Internal methods
+
+ proc Changesets {} {
+ return [struct::list filter [project::rev all] [myproc IsByRevision]]
+ }
proc IsByRevision {cset} { $cset byrevision }
proc SaveOrder {at cset} {