File Annotation
Not logged in
e7c805f137 2007-11-16       aku: ## -*- tcl -*-
e7c805f137 2007-11-16       aku: # # ## ### ##### ######## ############# #####################
e7c805f137 2007-11-16       aku: ## Copyright (c) 2007 Andreas Kupries.
e7c805f137 2007-11-16       aku: #
e7c805f137 2007-11-16       aku: # This software is licensed as described in the file LICENSE, which
e7c805f137 2007-11-16       aku: # you should have received as part of this distribution.
e7c805f137 2007-11-16       aku: #
e7c805f137 2007-11-16       aku: # This software consists of voluntary contributions made by many
e7c805f137 2007-11-16       aku: # individuals.  For exact contribution history, see the revision
e7c805f137 2007-11-16       aku: # history and logs, available at http://fossil-scm.hwaci.com/fossil
e7c805f137 2007-11-16       aku: # # ## ### ##### ######## ############# #####################
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: ## Pass VIII. This is the final pass for breaking changeset dependency
e7c805f137 2007-11-16       aku: ## cycles. The two previous passes broke cycles covering revision and
e7c805f137 2007-11-16       aku: ## symbol changesets, respectively. This pass now breaks any remaining
e7c805f137 2007-11-16       aku: ## cycles each of which has to contain at least one revision and at
e7c805f137 2007-11-16       aku: ## least one symbol changeset.
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: # # ## ### ##### ######## ############# #####################
e7c805f137 2007-11-16       aku: ## Requirements
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: package require Tcl 8.4                                   ; # Required runtime.
e7c805f137 2007-11-16       aku: package require snit                                      ; # OO system.
e7c805f137 2007-11-16       aku: package require struct::list                              ; # Higher order list operations.
e7c805f137 2007-11-16       aku: package require vc::tools::log                            ; # User feedback.
e7c805f137 2007-11-16       aku: package require vc::fossil::import::cvs::cyclebreaker     ; # Breaking dependency cycles.
e7c805f137 2007-11-16       aku: package require vc::fossil::import::cvs::state            ; # State storage.
e7c805f137 2007-11-16       aku: package require vc::fossil::import::cvs::project::rev     ; # Project level changesets
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: # # ## ### ##### ######## ############# #####################
e7c805f137 2007-11-16       aku: ## Register the pass with the management
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: vc::fossil::import::cvs::pass define \
e7c805f137 2007-11-16       aku:     BreakAllCsetCycles \
e7c805f137 2007-11-16       aku:     {Break Remaining ChangeSet Dependency Cycles} \
e7c805f137 2007-11-16       aku:     ::vc::fossil::import::cvs::pass::breakacycle
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: # # ## ### ##### ######## ############# #####################
e7c805f137 2007-11-16       aku: ##
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: snit::type ::vc::fossil::import::cvs::pass::breakacycle {
e7c805f137 2007-11-16       aku:     # # ## ### ##### ######## #############
e7c805f137 2007-11-16       aku:     ## Public API
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     typemethod setup {} {
e7c805f137 2007-11-16       aku: 	# Define the names and structure of the persistent state of
e7c805f137 2007-11-16       aku: 	# this pass.
e7c805f137 2007-11-16       aku: 	return
e7c805f137 2007-11-16       aku:     }
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     typemethod load {} {
e7c805f137 2007-11-16       aku: 	# Pass manager interface. Executed to load data computed by
e7c805f137 2007-11-16       aku: 	# this pass into memory when this pass is skipped instead of
e7c805f137 2007-11-16       aku: 	# executed.
e7c805f137 2007-11-16       aku: 	return
e7c805f137 2007-11-16       aku:     }
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     typemethod run {} {
e7c805f137 2007-11-16       aku: 	# Pass manager interface. Executed to perform the
e7c805f137 2007-11-16       aku: 	# functionality of the pass.
7f15be9078 2007-11-20       aku: 
7f15be9078 2007-11-20       aku: 	set changesets [project::rev all]
7f15be9078 2007-11-20       aku: 	cyclebreaker dot break-all-start $changesets
7f15be9078 2007-11-20       aku: 
e7c805f137 2007-11-16       aku: 	return
e7c805f137 2007-11-16       aku:     }
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     typemethod discard {} {
e7c805f137 2007-11-16       aku: 	# Pass manager interface. Executed for all passes after the
e7c805f137 2007-11-16       aku: 	# run passes, to remove all data of this pass from the state,
e7c805f137 2007-11-16       aku: 	# as being out of date.
e7c805f137 2007-11-16       aku: 	return
e7c805f137 2007-11-16       aku:     }
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     # # ## ### ##### ######## #############
e7c805f137 2007-11-16       aku:     ## Internal methods
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     # # ## ### ##### ######## #############
e7c805f137 2007-11-16       aku:     ## Configuration
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     pragma -hasinstances   no ; # singleton
e7c805f137 2007-11-16       aku:     pragma -hastypeinfo    no ; # no introspection
e7c805f137 2007-11-16       aku:     pragma -hastypedestroy no ; # immortal
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku:     # # ## ### ##### ######## #############
e7c805f137 2007-11-16       aku: }
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: namespace eval ::vc::fossil::import::cvs::pass {
e7c805f137 2007-11-16       aku:     namespace export breakacycle
e7c805f137 2007-11-16       aku:     namespace eval breakacycle {
e7c805f137 2007-11-16       aku: 	namespace import ::vc::fossil::import::cvs::cyclebreaker
e7c805f137 2007-11-16       aku: 	namespace import ::vc::fossil::import::cvs::state
e7c805f137 2007-11-16       aku: 	namespace eval project {
e7c805f137 2007-11-16       aku: 	    namespace import ::vc::fossil::import::cvs::project::rev
e7c805f137 2007-11-16       aku: 	}
e7c805f137 2007-11-16       aku: 	namespace import ::vc::tools::log
e7c805f137 2007-11-16       aku: 	log register breakacycle
e7c805f137 2007-11-16       aku:     }
e7c805f137 2007-11-16       aku: }
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: # # ## ### ##### ######## ############# #####################
e7c805f137 2007-11-16       aku: ## Ready
e7c805f137 2007-11-16       aku: 
e7c805f137 2007-11-16       aku: package provide vc::fossil::import::cvs::pass::breakacycle 1.0
e7c805f137 2007-11-16       aku: return