| | @@ -21,10 +21,11 @@ |
| 21 | 21 | |
| 22 | 22 | package require Tcl 8.4 ; # Required runtime. |
| 23 | 23 | package require snit ; # OO system. |
| 24 | 24 | package require struct::list ; # Higher order list operations. |
| 25 | 25 | package require vc::tools::log ; # User feedback. |
| 26 | +package require vc::fossil::import::cvs::repository ; # Repository management. |
| 26 | 27 | package require vc::fossil::import::cvs::cyclebreaker ; # Breaking dependency cycles. |
| 27 | 28 | package require vc::fossil::import::cvs::state ; # State storage. |
| 28 | 29 | package require vc::fossil::import::cvs::project::rev ; # Project level changesets |
| 29 | 30 | |
| 30 | 31 | # # ## ### ##### ######## ############# ##################### |
| | @@ -57,13 +58,19 @@ |
| 57 | 58 | |
| 58 | 59 | typemethod run {} { |
| 59 | 60 | # Pass manager interface. Executed to perform the |
| 60 | 61 | # functionality of the pass. |
| 61 | 62 | |
| 62 | | - set changesets [project::rev all] |
| 63 | | - #cyclebreaker dot break-all-start $changesets |
| 63 | + cyclebreaker precmd [myproc BreakRetrogradeBranches] |
| 64 | + cyclebreaker savecmd [myproc SaveOrder] |
| 65 | + cyclebreaker breakcmd [myproc BreakCycle] |
| 66 | + |
| 67 | + state transaction { |
| 68 | + cyclebreaker run break-all [myproc Changesets] |
| 69 | + } |
| 64 | 70 | |
| 71 | + repository printcsetstatistics |
| 65 | 72 | return |
| 66 | 73 | } |
| 67 | 74 | |
| 68 | 75 | typemethod discard {} { |
| 69 | 76 | # Pass manager interface. Executed for all passes after the |
| | @@ -74,10 +81,26 @@ |
| 74 | 81 | |
| 75 | 82 | # # ## ### ##### ######## ############# |
| 76 | 83 | ## Internal methods |
| 77 | 84 | |
| 78 | 85 | proc Changesets {} { project::rev all } |
| 86 | + |
| 87 | + # # ## ### ##### ######## ############# |
| 88 | + |
| 89 | + proc BreakRetrogradeBranches {graph} { |
| 90 | + } |
| 91 | + |
| 92 | + # # ## ### ##### ######## ############# |
| 93 | + |
| 94 | + proc SaveOrder {cset pos} { |
| 95 | + } |
| 96 | + |
| 97 | + # # ## ### ##### ######## ############# |
| 98 | + |
| 99 | + proc BreakCycle {graph} { |
| 100 | + cyclebreaker break $graph |
| 101 | + } |
| 79 | 102 | |
| 80 | 103 | # # ## ### ##### ######## ############# |
| 81 | 104 | ## Configuration |
| 82 | 105 | |
| 83 | 106 | pragma -hasinstances no ; # singleton |
| | @@ -89,10 +112,11 @@ |
| 89 | 112 | |
| 90 | 113 | namespace eval ::vc::fossil::import::cvs::pass { |
| 91 | 114 | namespace export breakacycle |
| 92 | 115 | namespace eval breakacycle { |
| 93 | 116 | namespace import ::vc::fossil::import::cvs::cyclebreaker |
| 117 | + namespace import ::vc::fossil::import::cvs::repository |
| 94 | 118 | namespace import ::vc::fossil::import::cvs::state |
| 95 | 119 | namespace eval project { |
| 96 | 120 | namespace import ::vc::fossil::import::cvs::project::rev |
| 97 | 121 | } |
| 98 | 122 | namespace import ::vc::tools::log |
| 99 | 123 | |