Differences From:
File
tools/cvs2fossil/lib/c2f_project.tcl
part of check-in
[6d1811d61e]
- Continued work on pass II, skeleton of it completed by adding outline of code for persistence.
by
aku on
2007-10-06 21:19:26.
[view]
To:
File
tools/cvs2fossil/lib/c2f_project.tcl
part of check-in
[84871722547960b]
- Broke static dependency cycle repository <- project <- file <- repository, now using dynamic/runtime object references instead. This allows us to keep the nice and readable format for our files, code is readable too.
by
aku on
2007-10-06 22:06:05.
[view]
@@ -26,10 +26,11 @@
snit::type ::vc::fossil::import::cvs::project {
# # ## ### ##### ######## #############
## Public API
- constructor {path} {
- set mybase $path
+ constructor {path r} {
+ set mybase $path
+ set myrepository $r
return
}
method base {} { return $mybase }
@@ -51,8 +52,11 @@
method files {} {
# TODO: Loading from state
return [TheFiles]
}
+
+ delegate method author to myrepository
+ delegate method cmessage to myrepository
# pass I persistence
method persist {} {
state transaction {
@@ -94,8 +98,9 @@
variable mybase {} ; # Project directory
variable myfiles -array {} ; # Maps rcs archive to their user files.
variable myfobj {} ; # File objects for the rcs archives
+ variable myrepository {} ; # Repository the prject belongs to.
# # ## ### ##### ######## #############
## Internal methods
@@ -121,9 +126,8 @@
pragma -hastypeinfo no ; # no type introspection
pragma -hasinfo no ; # no object introspection
pragma -hastypemethods no ; # type is not relevant.
- pragma -simpledispatch yes ; # simple fast dispatch
# # ## ### ##### ######## #############
}