File Annotation
Not logged in
54d1e3537e 2007-11-10       aku: ## -*- tcl -*-
54d1e3537e 2007-11-10       aku: # # ## ### ##### ######## ############# #####################
66235f2430 2008-02-06       aku: ## Copyright (c) 2007-2008 Andreas Kupries.
54d1e3537e 2007-11-10       aku: #
54d1e3537e 2007-11-10       aku: # This software is licensed as described in the file LICENSE, which
54d1e3537e 2007-11-10       aku: # you should have received as part of this distribution.
54d1e3537e 2007-11-10       aku: #
54d1e3537e 2007-11-10       aku: # This software consists of voluntary contributions made by many
54d1e3537e 2007-11-10       aku: # individuals.  For exact contribution history, see the revision
54d1e3537e 2007-11-10       aku: # history and logs, available at http://fossil-scm.hwaci.com/fossil
54d1e3537e 2007-11-10       aku: # # ## ### ##### ######## ############# #####################
54d1e3537e 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: ## Pass V. This pass creates the initial set of project level
5f7acef887 2007-11-10       aku: ## revisions, aka changesets. Later passes will refine them, puts them
5f7acef887 2007-11-10       aku: ## into proper order, set their dependencies, etc.
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: # # ## ### ##### ######## ############# #####################
54d1e3537e 2007-11-10       aku: ## Requirements
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: package require Tcl 8.4                               ; # Required runtime.
54d1e3537e 2007-11-10       aku: package require snit                                  ; # OO system.
54d1e3537e 2007-11-10       aku: package require vc::tools::misc                       ; # Text formatting.
54d1e3537e 2007-11-10       aku: package require vc::tools::log                        ; # User feedback.
27ed4f7dc3 2008-02-16       aku: package require vc::tools::mem                        ; # Memory tracking.
5f7acef887 2007-11-10       aku: package require vc::fossil::import::cvs::repository   ; # Repository management.
54d1e3537e 2007-11-10       aku: package require vc::fossil::import::cvs::state        ; # State storage.
bf83201c7f 2007-11-27       aku: package require vc::fossil::import::cvs::integrity    ; # State integrity checks.
5f7acef887 2007-11-10       aku: package require vc::fossil::import::cvs::project::rev ; # Project level changesets
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: # # ## ### ##### ######## ############# #####################
54d1e3537e 2007-11-10       aku: ## Register the pass with the management
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: vc::fossil::import::cvs::pass define \
54d1e3537e 2007-11-10       aku:     InitCsets \
54d1e3537e 2007-11-10       aku:     {Initialize ChangeSets} \
54d1e3537e 2007-11-10       aku:     ::vc::fossil::import::cvs::pass::initcsets
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: # # ## ### ##### ######## ############# #####################
54d1e3537e 2007-11-10       aku: ##
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: snit::type ::vc::fossil::import::cvs::pass::initcsets {
54d1e3537e 2007-11-10       aku:     # # ## ### ##### ######## #############
54d1e3537e 2007-11-10       aku:     ## Public API
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     typemethod setup {} {
54d1e3537e 2007-11-10       aku: 	# Define the names and structure of the persistent state of
54d1e3537e 2007-11-10       aku: 	# this pass.
5f7acef887 2007-11-10       aku: 
e288af3995 2007-12-02       aku: 	state use project
e288af3995 2007-12-02       aku: 	state use file
e288af3995 2007-12-02       aku: 	state use revision
e288af3995 2007-12-02       aku: 	state use revisionbranchchildren
e288af3995 2007-12-02       aku: 	state use branch
e288af3995 2007-12-02       aku: 	state use tag
e288af3995 2007-12-02       aku: 	state use symbol
e288af3995 2007-12-02       aku: 	state use meta
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	# Data per changeset, namely the project it belongs to, how it
5f7acef887 2007-11-10       aku: 	# was induced (revision or symbol), plus reference to the
5f7acef887 2007-11-10       aku: 	# primary entry causing it (meta entry or symbol). An adjunct
5f7acef887 2007-11-10       aku: 	# table translates the type id's into human readable labels.
5f7acef887 2007-11-10       aku: 
e288af3995 2007-12-02       aku: 	state extend changeset {
5f7acef887 2007-11-10       aku: 	    cid   INTEGER  NOT NULL  PRIMARY KEY  AUTOINCREMENT,
5f7acef887 2007-11-10       aku: 	    pid   INTEGER  NOT NULL  REFERENCES project,
5f7acef887 2007-11-10       aku: 	    type  INTEGER  NOT NULL  REFERENCES cstype,
5f7acef887 2007-11-10       aku: 	    src   INTEGER  NOT NULL -- REFERENCES meta|symbol (type dependent)
5f7acef887 2007-11-10       aku: 	}
e288af3995 2007-12-02       aku: 	state extend cstype {
5f7acef887 2007-11-10       aku: 	    tid   INTEGER  NOT NULL  PRIMARY KEY  AUTOINCREMENT,
5f7acef887 2007-11-10       aku: 	    name  TEXT     NOT NULL,
5f7acef887 2007-11-10       aku: 	    UNIQUE (name)
5f7acef887 2007-11-10       aku: 	}
215d2f1ad9 2007-11-29       aku: 	# Note: Keep the labels used here in sync with the names for
215d2f1ad9 2007-11-29       aku: 	#       singleton helper classes for 'project::rev'. They are
215d2f1ad9 2007-11-29       aku: 	#       the valid type names for changesets and also hardwired
215d2f1ad9 2007-11-29       aku: 	#       in some code.
5f7acef887 2007-11-10       aku: 	state run {
5f7acef887 2007-11-10       aku: 	    INSERT INTO cstype VALUES (0,'rev');
215d2f1ad9 2007-11-29       aku: 	    INSERT INTO cstype VALUES (1,'sym::tag');
215d2f1ad9 2007-11-29       aku: 	    INSERT INTO cstype VALUES (2,'sym::branch');
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
215d2f1ad9 2007-11-29       aku: 	# Map from changesets to the (file level) revisions, tags, or
215d2f1ad9 2007-11-29       aku: 	# branches they contain. The pos'ition provides an order of
215d2f1ad9 2007-11-29       aku: 	# the items within a changeset. They are unique within the
215d2f1ad9 2007-11-29       aku: 	# changeset.  The items are in principle unique, if we were
215d2f1ad9 2007-11-29       aku: 	# looking only at relevant changesets. However as they come
215d2f1ad9 2007-11-29       aku: 	# from disparate sources the same id may have different
215d2f1ad9 2007-11-29       aku: 	# meaning, be in different changesets and so is formally not
215d2f1ad9 2007-11-29       aku: 	# unique. So we can only say that it is unique within the
215d2f1ad9 2007-11-29       aku: 	# changeset. The integrity module has stronger checks.
215d2f1ad9 2007-11-29       aku: 
e288af3995 2007-12-02       aku: 	state extend csitem {
5f7acef887 2007-11-10       aku: 	    cid  INTEGER  NOT NULL  REFERENCES changeset,
5f7acef887 2007-11-10       aku: 	    pos  INTEGER  NOT NULL,
80b1e8936f 2007-11-29       aku: 	    iid  INTEGER  NOT NULL, -- REFERENCES revision|tag|branch
5f7acef887 2007-11-10       aku: 	    UNIQUE (cid, pos),
80b1e8936f 2007-11-29       aku: 	    UNIQUE (cid, iid)
9c57055025 2007-12-02       aku: 	} { iid }
9c57055025 2007-12-02       aku: 	# Index on: iid (successor/predecessor retrieval)
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	project::rev getcstypes
54d1e3537e 2007-11-10       aku: 	return
54d1e3537e 2007-11-10       aku:     }
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     typemethod load {} {
54d1e3537e 2007-11-10       aku: 	# Pass manager interface. Executed to load data computed by
54d1e3537e 2007-11-10       aku: 	# this pass into memory when this pass is skipped instead of
54d1e3537e 2007-11-10       aku: 	# executed.
24c0b662de 2007-11-13       aku: 
e288af3995 2007-12-02       aku: 	state use changeset
e288af3995 2007-12-02       aku: 	state use csitem
e288af3995 2007-12-02       aku: 	state use cstype
e288af3995 2007-12-02       aku: 
49dd66f64f 2008-01-30       aku: 	# Need the types first, the constructor used inside of the
49dd66f64f 2008-01-30       aku: 	# 'load' below uses them to assert the correctness of type
49dd66f64f 2008-01-30       aku: 	# names.
5f7acef887 2007-11-10       aku: 	project::rev getcstypes
9e1b461b2f 2008-01-30       aku: 	project::rev load ::vc::fossil::import::cvs::repository
65be27aa69 2007-11-22       aku: 	project::rev loadcounter
54d1e3537e 2007-11-10       aku: 	return
54d1e3537e 2007-11-10       aku:     }
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     typemethod run {} {
54d1e3537e 2007-11-10       aku: 	# Pass manager interface. Executed to perform the
54d1e3537e 2007-11-10       aku: 	# functionality of the pass.
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	state transaction {
f46458d5bd 2008-02-17       aku: 	    CreateRevisionChangesets  ; # Group file revisions into
f46458d5bd 2008-02-17       aku: 					# preliminary csets and split
f46458d5bd 2008-02-17       aku: 					# them based on internal
f46458d5bd 2008-02-17       aku: 					# conflicts.
f46458d5bd 2008-02-17       aku: 	    CreateSymbolChangesets    ; # Create csets for tags and
f46458d5bd 2008-02-17       aku: 					# branches.
5f7acef887 2007-11-10       aku: 	}
8c6488ded2 2007-11-27       aku: 
8c6488ded2 2007-11-27       aku: 	repository printcsetstatistics
8c6488ded2 2007-11-27       aku: 	integrity changesets
f46458d5bd 2008-02-17       aku: 
f46458d5bd 2008-02-17       aku: 	# Load the changesets for use by the next passes.
f46458d5bd 2008-02-17       aku: 	project::rev load ::vc::fossil::import::cvs::repository
f46458d5bd 2008-02-17       aku: 	project::rev loadcounter
54d1e3537e 2007-11-10       aku: 	return
54d1e3537e 2007-11-10       aku:     }
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     typemethod discard {} {
54d1e3537e 2007-11-10       aku: 	# Pass manager interface. Executed for all passes after the
54d1e3537e 2007-11-10       aku: 	# run passes, to remove all data of this pass from the state,
54d1e3537e 2007-11-10       aku: 	# as being out of date.
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	state discard changeset
5f7acef887 2007-11-10       aku: 	state discard cstype
80b1e8936f 2007-11-29       aku: 	state discard csitem
54d1e3537e 2007-11-10       aku: 	return
54d1e3537e 2007-11-10       aku:     }
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     # # ## ### ##### ######## #############
54d1e3537e 2007-11-10       aku:     ## Internal methods
54d1e3537e 2007-11-10       aku: 
24c0b662de 2007-11-13       aku:     proc CreateRevisionChangesets {} {
5f7acef887 2007-11-10       aku: 	log write 3 initcsets {Create changesets based on revisions}
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	# To get the initial of changesets we first group all file
5f7acef887 2007-11-10       aku: 	# level revisions using the same meta data entry together. As
5f7acef887 2007-11-10       aku: 	# the meta data encodes not only author and log message, but
5f7acef887 2007-11-10       aku: 	# also line of development and project we can be sure that
5f7acef887 2007-11-10       aku: 	# revisions in different project and lines of development are
5f7acef887 2007-11-10       aku: 	# not grouped together. In contrast to cvs2svn we do __not__
5f7acef887 2007-11-10       aku: 	# use distance in time between revisions to break them
5f7acef887 2007-11-10       aku: 	# apart. We have seen CVS repositories (from SF) where a
5f7acef887 2007-11-10       aku: 	# single commit contained revisions several hours apart,
5f7acef887 2007-11-10       aku: 	# likely due to trouble on the server hosting the repository.
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	# We order the revisions here by time, this will help the
5f7acef887 2007-11-10       aku: 	# later passes (avoids joins later to get at the ordering
5f7acef887 2007-11-10       aku: 	# info).
5f7acef887 2007-11-10       aku: 
f46458d5bd 2008-02-17       aku: 	# The changesets made from these groups are immediately
f46458d5bd 2008-02-17       aku: 	# inspected for internal conflicts and any such are broken by
f46458d5bd 2008-02-17       aku: 	# splitting the problematic changeset into multiple
f46458d5bd 2008-02-17       aku: 	# fragments. The results are changesets which have no internal
f46458d5bd 2008-02-17       aku: 	# dependencies, only external ones.
f46458d5bd 2008-02-17       aku: 
f46458d5bd 2008-02-17       aku: 	set n  0
f46458d5bd 2008-02-17       aku: 	set nx 0
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	set lastmeta    {}
5f7acef887 2007-11-10       aku: 	set lastproject {}
5f7acef887 2007-11-10       aku: 	set revisions   {}
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	# Note: We could have written this loop to create the csets
5f7acef887 2007-11-10       aku: 	#       early, extending them with all their revisions. This
5f7acef887 2007-11-10       aku: 	#       however would mean lots of (slow) method invokations
5f7acef887 2007-11-10       aku: 	#       on the csets. Doing it like this, late creation, means
5f7acef887 2007-11-10       aku: 	#       less such calls. None, but the creation itself.
5f7acef887 2007-11-10       aku: 
27ed4f7dc3 2008-02-16       aku: 	log write 14 initcsets meta_begin
27ed4f7dc3 2008-02-16       aku: 	mem::mark
5f7acef887 2007-11-10       aku: 	foreach {mid rid pid} [state run {
5f7acef887 2007-11-10       aku: 	    SELECT M.mid, R.rid, M.pid
5f7acef887 2007-11-10       aku: 	    FROM   revision R, meta M   -- R ==> M, using PK index of M.
5f7acef887 2007-11-10       aku: 	    WHERE  R.mid = M.mid
5f7acef887 2007-11-10       aku: 	    ORDER  BY M.mid, R.date
5f7acef887 2007-11-10       aku: 	}] {
27ed4f7dc3 2008-02-16       aku: 	    log write 14 initcsets meta_next
27ed4f7dc3 2008-02-16       aku: 
5f7acef887 2007-11-10       aku: 	    if {$lastmeta != $mid} {
5f7acef887 2007-11-10       aku: 		if {[llength $revisions]} {
5f7acef887 2007-11-10       aku: 		    incr n
5f7acef887 2007-11-10       aku: 		    set  p [repository projectof $lastproject]
27ed4f7dc3 2008-02-16       aku: 		    log write 14 initcsets meta_cset_begin
27ed4f7dc3 2008-02-16       aku: 		    mem::mark
f46458d5bd 2008-02-17       aku: 		    set cset [project::rev %AUTO% $p rev $lastmeta $revisions]
27ed4f7dc3 2008-02-16       aku: 		    log write 14 initcsets meta_cset_done
f46458d5bd 2008-02-17       aku: 		    $cset breakinternaldependencies nx
f46458d5bd 2008-02-17       aku: 		    $cset persist
f46458d5bd 2008-02-17       aku: 		    $cset destroy
27ed4f7dc3 2008-02-16       aku: 		    mem::mark
5f7acef887 2007-11-10       aku: 		    set revisions {}
5f7acef887 2007-11-10       aku: 		}
5f7acef887 2007-11-10       aku: 		set lastmeta    $mid
5f7acef887 2007-11-10       aku: 		set lastproject $pid
5f7acef887 2007-11-10       aku: 	    }
5f7acef887 2007-11-10       aku: 	    lappend revisions $rid
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	if {[llength $revisions]} {
5f7acef887 2007-11-10       aku: 	    incr n
5f7acef887 2007-11-10       aku: 	    set  p [repository projectof $lastproject]
27ed4f7dc3 2008-02-16       aku: 	    log write 14 initcsets meta_cset_begin
27ed4f7dc3 2008-02-16       aku: 	    mem::mark
f46458d5bd 2008-02-17       aku: 	    set cset [project::rev %AUTO% $p rev $lastmeta $revisions]
27ed4f7dc3 2008-02-16       aku: 	    log write 14 initcsets meta_cset_done
f46458d5bd 2008-02-17       aku: 	    $cset breakinternaldependencies nx
f46458d5bd 2008-02-17       aku: 	    $cset persist
f46458d5bd 2008-02-17       aku: 	    $cset destroy
27ed4f7dc3 2008-02-16       aku: 	    mem::mark
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
27ed4f7dc3 2008-02-16       aku: 	log write 14 initcsets meta_done
27ed4f7dc3 2008-02-16       aku: 	mem::mark
27ed4f7dc3 2008-02-16       aku: 
f46458d5bd 2008-02-17       aku: 	log write 4 initcsets "Created and saved [nsp $n {revision changeset}]"
f46458d5bd 2008-02-17       aku: 	log write 4 initcsets "Created and saved [nsp $nx {additional revision changeset}]"
f46458d5bd 2008-02-17       aku: 
f46458d5bd 2008-02-17       aku: 	mem::mark
f46458d5bd 2008-02-17       aku: 	log write 4 initcsets Ok.
5f7acef887 2007-11-10       aku: 	return
5f7acef887 2007-11-10       aku:     }
5f7acef887 2007-11-10       aku: 
24c0b662de 2007-11-13       aku:     proc CreateSymbolChangesets {} {
5f7acef887 2007-11-10       aku: 	log write 3 initcsets {Create changesets based on symbols}
27ed4f7dc3 2008-02-16       aku: 	mem::mark
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	# Tags and branches induce changesets as well, containing the
5f7acef887 2007-11-10       aku: 	# revisions they are attached to (tags), or spawned from
5f7acef887 2007-11-10       aku: 	# (branches).
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	set n 0
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	# First process the tags, then the branches. We know that
5f7acef887 2007-11-10       aku: 	# their ids do not overlap with each other.
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	set lastsymbol  {}
5f7acef887 2007-11-10       aku: 	set lastproject {}
27f093d23c 2007-11-29       aku: 	set tags        {}
5f7acef887 2007-11-10       aku: 
27f093d23c 2007-11-29       aku: 	foreach {sid tid pid} [state run {
215d2f1ad9 2007-11-29       aku: 	    SELECT S.sid, T.tid, S.pid
215d2f1ad9 2007-11-29       aku: 	    FROM  tag T, symbol S     -- T ==> R/S, using PK indices of R, S.
215d2f1ad9 2007-11-29       aku: 	    WHERE T.sid = S.sid
215d2f1ad9 2007-11-29       aku: 	    ORDER BY S.sid, T.tid
5f7acef887 2007-11-10       aku: 	}] {
5f7acef887 2007-11-10       aku: 	    if {$lastsymbol != $sid} {
27f093d23c 2007-11-29       aku: 		if {[llength $tags]} {
5f7acef887 2007-11-10       aku: 		    incr n
5f7acef887 2007-11-10       aku: 		    set  p [repository projectof $lastproject]
f46458d5bd 2008-02-17       aku: 		    set cset [project::rev %AUTO% $p sym::tag $lastsymbol $tags]
27f093d23c 2007-11-29       aku: 		    set tags {}
f46458d5bd 2008-02-17       aku: 		    $cset persist
f46458d5bd 2008-02-17       aku: 		    $cset destroy
5f7acef887 2007-11-10       aku: 		}
5f7acef887 2007-11-10       aku: 		set lastsymbol  $sid
5f7acef887 2007-11-10       aku: 		set lastproject $pid
5f7acef887 2007-11-10       aku: 	    }
27f093d23c 2007-11-29       aku: 	    lappend tags $tid
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
27f093d23c 2007-11-29       aku: 	if {[llength $tags]} {
5f7acef887 2007-11-10       aku: 	    incr n
5f7acef887 2007-11-10       aku: 	    set  p [repository projectof $lastproject]
f46458d5bd 2008-02-17       aku: 	    set cset [project::rev %AUTO% $p sym::tag $lastsymbol $tags]
f46458d5bd 2008-02-17       aku: 	    $cset persist
f46458d5bd 2008-02-17       aku: 	    $cset destroy
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
5f7acef887 2007-11-10       aku: 	set lastsymbol {}
5f7acef887 2007-11-10       aku: 	set lasproject {}
27f093d23c 2007-11-29       aku: 	set branches   {}
5f7acef887 2007-11-10       aku: 
27f093d23c 2007-11-29       aku: 	foreach {sid bid pid} [state run {
215d2f1ad9 2007-11-29       aku: 	    SELECT S.sid, B.bid, S.pid
215d2f1ad9 2007-11-29       aku: 	    FROM  branch B, symbol S  -- B ==> R/S, using PK indices of R, S.
215d2f1ad9 2007-11-29       aku: 	    WHERE B.sid  = S.sid
215d2f1ad9 2007-11-29       aku: 	    ORDER BY S.sid, B.bid
5f7acef887 2007-11-10       aku: 	}] {
5f7acef887 2007-11-10       aku: 	    if {$lastsymbol != $sid} {
27f093d23c 2007-11-29       aku: 		if {[llength $branches]} {
5f7acef887 2007-11-10       aku: 		    incr n
5f7acef887 2007-11-10       aku: 		    set  p [repository projectof $lastproject]
f46458d5bd 2008-02-17       aku: 		    set cset [project::rev %AUTO% $p sym::branch $lastsymbol $branches]
27f093d23c 2007-11-29       aku: 		    set branches {}
f46458d5bd 2008-02-17       aku: 		    $cset persist
f46458d5bd 2008-02-17       aku: 		    $cset destroy
5f7acef887 2007-11-10       aku: 		}
5f7acef887 2007-11-10       aku: 		set lastsymbol  $sid
5f7acef887 2007-11-10       aku: 		set lastproject $pid
5f7acef887 2007-11-10       aku: 	    }
27f093d23c 2007-11-29       aku: 	    lappend branches $bid
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
27f093d23c 2007-11-29       aku: 	if {[llength $branches]} {
5f7acef887 2007-11-10       aku: 	    incr n
5f7acef887 2007-11-10       aku: 	    set  p [repository projectof $lastproject]
f46458d5bd 2008-02-17       aku: 	    set cset [project::rev %AUTO% $p sym::branch $lastsymbol $branches]
f46458d5bd 2008-02-17       aku: 	    $cset persist
f46458d5bd 2008-02-17       aku: 	    $cset destroy
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 
f46458d5bd 2008-02-17       aku: 	log write 4 initcsets "Created and saved [nsp $n {symbol changeset}]"
f46458d5bd 2008-02-17       aku: 	mem::mark
5f7acef887 2007-11-10       aku: 	return
5f7acef887 2007-11-10       aku:     }
5f7acef887 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     # # ## ### ##### ######## #############
54d1e3537e 2007-11-10       aku:     ## Configuration
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     pragma -hasinstances   no ; # singleton
54d1e3537e 2007-11-10       aku:     pragma -hastypeinfo    no ; # no introspection
54d1e3537e 2007-11-10       aku:     pragma -hastypedestroy no ; # immortal
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku:     # # ## ### ##### ######## #############
54d1e3537e 2007-11-10       aku: }
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: namespace eval ::vc::fossil::import::cvs::pass {
54d1e3537e 2007-11-10       aku:     namespace export initcsets
54d1e3537e 2007-11-10       aku:     namespace eval initcsets {
5f7acef887 2007-11-10       aku: 	namespace import ::vc::fossil::import::cvs::repository
54d1e3537e 2007-11-10       aku: 	namespace import ::vc::fossil::import::cvs::state
bf83201c7f 2007-11-27       aku: 	namespace import ::vc::fossil::import::cvs::integrity
5f7acef887 2007-11-10       aku: 	namespace eval project {
5f7acef887 2007-11-10       aku: 	    namespace import ::vc::fossil::import::cvs::project::rev
27ed4f7dc3 2008-02-16       aku: 	}
27ed4f7dc3 2008-02-16       aku: 	namespace eval mem {
27ed4f7dc3 2008-02-16       aku: 	    namespace import ::vc::tools::mem::mark
5f7acef887 2007-11-10       aku: 	}
5f7acef887 2007-11-10       aku: 	namespace import ::vc::tools::misc::*
54d1e3537e 2007-11-10       aku: 	namespace import ::vc::tools::log
54d1e3537e 2007-11-10       aku: 	log register initcsets
54d1e3537e 2007-11-10       aku:     }
54d1e3537e 2007-11-10       aku: }
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: # # ## ### ##### ######## ############# #####################
54d1e3537e 2007-11-10       aku: ## Ready
54d1e3537e 2007-11-10       aku: 
54d1e3537e 2007-11-10       aku: package provide vc::fossil::import::cvs::pass::initcsets 1.0
54d1e3537e 2007-11-10       aku: return