Diff
Not logged in

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} {