6d4eb24738 2007-11-02 aku: ## -*- tcl -*- 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# ##################### 6d4eb24738 2007-11-02 aku: ## Copyright (c) 2007 Andreas Kupries. 6d4eb24738 2007-11-02 aku: # 6d4eb24738 2007-11-02 aku: # This software is licensed as described in the file LICENSE, which 6d4eb24738 2007-11-02 aku: # you should have received as part of this distribution. 6d4eb24738 2007-11-02 aku: # 6d4eb24738 2007-11-02 aku: # This software consists of voluntary contributions made by many 6d4eb24738 2007-11-02 aku: # individuals. For exact contribution history, see the revision 6d4eb24738 2007-11-02 aku: # history and logs, available at http://fossil-scm.hwaci.com/fossil 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# ##################### 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: ## Pass III. This pass divides the symbols collected by the previous 6d4eb24738 2007-11-02 aku: ## pass into branches, tags, and excludes. The latter are __not__ 6d4eb24738 2007-11-02 aku: ## deleted by this pass, only marked. It is the next pass, 6d4eb24738 2007-11-02 aku: ## 'FilterSym', which performs the actual deletion. 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# ##################### 6d4eb24738 2007-11-02 aku: ## Requirements 6d4eb24738 2007-11-02 aku: f888f06fe3 2007-11-02 aku: package require Tcl 8.4 ; # Required runtime. f888f06fe3 2007-11-02 aku: package require snit ; # OO system. f888f06fe3 2007-11-02 aku: #package require fileutil::traverse ; # Directory traversal. f888f06fe3 2007-11-02 aku: #package require fileutil ; # File & path utilities. f888f06fe3 2007-11-02 aku: #package require vc::tools::trouble ; # Error reporting. f888f06fe3 2007-11-02 aku: package require vc::tools::log ; # User feedback. f888f06fe3 2007-11-02 aku: #package require vc::fossil::import::cvs::pass ; # Pass management. f888f06fe3 2007-11-02 aku: package require vc::fossil::import::cvs::repository ; # Repository management. f888f06fe3 2007-11-02 aku: package require vc::fossil::import::cvs::state ; # State storage. f888f06fe3 2007-11-02 aku: package require vc::fossil::import::cvs::project::sym ; # Project level symbols 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# ##################### 6d4eb24738 2007-11-02 aku: ## Register the pass with the management 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: vc::fossil::import::cvs::pass define \ 6d4eb24738 2007-11-02 aku: CollateSymbols \ 6d4eb24738 2007-11-02 aku: {Collate symbols} \ 6d4eb24738 2007-11-02 aku: ::vc::fossil::import::cvs::pass::collsym 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# ##################### 6d4eb24738 2007-11-02 aku: ## 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: snit::type ::vc::fossil::import::cvs::pass::collsym { 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# 6d4eb24738 2007-11-02 aku: ## Public API 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: typemethod setup {} { 6d4eb24738 2007-11-02 aku: # Define names and structure of the persistent state of this 6d4eb24738 2007-11-02 aku: # pass. 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: state reading symbol 6d4eb24738 2007-11-02 aku: state reading blocker 6d4eb24738 2007-11-02 aku: state reading parent 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: return 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: typemethod load {} { 6d4eb24738 2007-11-02 aku: # TODO 6d4eb24738 2007-11-02 aku: return 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: typemethod run {} { 6d4eb24738 2007-11-02 aku: # Pass manager interface. Executed to perform the 6d4eb24738 2007-11-02 aku: # functionality of the pass. 6d4eb24738 2007-11-02 aku: f888f06fe3 2007-11-02 aku: state transaction { f888f06fe3 2007-11-02 aku: repository determinesymboltypes f888f06fe3 2007-11-02 aku: f888f06fe3 2007-11-02 aku: project::sym printrulestatistics f888f06fe3 2007-11-02 aku: project::sym printtypestatistics f888f06fe3 2007-11-02 aku: } f888f06fe3 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: log write 1 collsym "Collation completed" 6d4eb24738 2007-11-02 aku: return 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: typemethod discard {} { 6d4eb24738 2007-11-02 aku: # Pass manager interface. Executed for all passes after the 6d4eb24738 2007-11-02 aku: # run passes, to remove all data of this pass from the state, 6d4eb24738 2007-11-02 aku: # as being out of date. 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: return 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# 6d4eb24738 2007-11-02 aku: ## Internal methods 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# 6d4eb24738 2007-11-02 aku: ## Configuration 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: pragma -hasinstances no ; # singleton 6d4eb24738 2007-11-02 aku: pragma -hastypeinfo no ; # no introspection 6d4eb24738 2007-11-02 aku: pragma -hastypedestroy no ; # immortal 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: namespace eval ::vc::fossil::import::cvs::pass { 6d4eb24738 2007-11-02 aku: namespace export collsym 6d4eb24738 2007-11-02 aku: namespace eval collsym { f888f06fe3 2007-11-02 aku: namespace import ::vc::fossil::import::cvs::repository 6d4eb24738 2007-11-02 aku: namespace import ::vc::fossil::import::cvs::state f888f06fe3 2007-11-02 aku: namespace eval project { f888f06fe3 2007-11-02 aku: namespace import ::vc::fossil::import::cvs::project::sym f888f06fe3 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: #namespace import ::vc::tools::trouble 6d4eb24738 2007-11-02 aku: namespace import ::vc::tools::log 6d4eb24738 2007-11-02 aku: log register collsym 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: } 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: # # ## ### ##### ######## ############# ##################### 6d4eb24738 2007-11-02 aku: ## Ready 6d4eb24738 2007-11-02 aku: 6d4eb24738 2007-11-02 aku: package provide vc::fossil::import::cvs::pass::collsym 1.0 6d4eb24738 2007-11-02 aku: return