Differences From:
File
tools/cvs2fossil/lib/c2f_project.tcl
part of check-in
[67c24820c7]
- Reworked the whole handling of meta data (author, commit message, plus project/branch information), so that revisions now store only the meta id, everything else is stored centrally. All the relevant pieces (author, cmessage, symbols, projects) now also get numeric ids assigned early instead of when being saved to the state. Project ids are loaded from the state now too.
by
aku on
2007-10-14 01:58:07.
[view]
To:
File
tools/cvs2fossil/lib/c2f_project.tcl
part of check-in
[e5441b908d]
- Continued work on pass II, starting to post-process tags, branches, and revisions, cleaning up cvs quirks, determining higher-level aggregates ...
by
aku on
2007-10-15 00:03:30.
[view]
@@ -14,14 +14,15 @@
# # ## ### ##### ######## ############# #####################
## Requirements
-package require Tcl 8.4 ; # Required runtime.
-package require snit ; # OO system.
-package require vc::fossil::import::cvs::file ; # CVS archive file.
-package require vc::fossil::import::cvs::state ; # State storage.
-package require vc::fossil::import::cvs::project::sym ; # Per project symbols.
-package require struct::list ; # Advanced list operations..
+package require Tcl 8.4 ; # Required runtime.
+package require snit ; # OO system.
+package require vc::fossil::import::cvs::file ; # CVS archive file.
+package require vc::fossil::import::cvs::state ; # State storage.
+package require vc::fossil::import::cvs::project::sym ; # Per project symbols.
+package require vc::fossil::import::cvs::project::trunk ; # Per project trunk, main lod
+package require struct::list ; # Advanced list operations..
# # ## ### ##### ######## ############# #####################
##
@@ -31,12 +32,14 @@
constructor {path r} {
set mybase $path
set myrepository $r
+ set mytrunk [trunk %AUTO%]
return
}
- method base {} { return $mybase }
+ method base {} { return $mybase }
+ method trunk {} { return $mytrunk }
method printbase {} {
if {$mybase eq ""} {return <Repository>}
return $mybase
@@ -111,14 +114,18 @@
# # ## ### ##### ######## #############
## State
- variable mybase {} ; # Project directory
+ variable mybase {} ; # Project directory.
variable myid {} ; # Project id in the persistent state.
- variable myfiles -array {} ; # Maps rcs archive to their user files.
+ variable mytrunk {} ; # Reference to the main line of
+ # development for the project.
+ variable myfiles -array {} ; # Maps the rcs archive paths to
+ # their user-visible files.
variable myfobj {} ; # File objects for the rcs archives
variable myrepository {} ; # Repository the prject belongs to.
- variable mysymbols -array {} ; # Map symbol names to project-level symbol objects.
+ variable mysymbols -array {} ; # Map symbol names to project-level
+ # symbol objects.
# # ## ### ##### ######## #############
## Internal methods