Differences From:
File
tools/cvs2fossil/lib/c2f_pfiltersym.tcl
part of check-in
[37734390ca]
- Pass 4 nearly completed. Rewrite symbol mutation, completed adjustment of symbol parents, added symbol refinement (noop or not flags). Now only missing piece is replication of the pass 2 paranoia checks. Note: Checks in the adjustment of parents are a bottleneck. May need indices, or something we can do in memory.
by
aku on
2007-11-07 06:22:32.
[view]
To:
File
tools/cvs2fossil/lib/c2f_pfiltersym.tcl
part of check-in
[131f051880]
- Moved the paranoid integrity checks of pass 2 into a separate package for use by other passes, and changed pass 4 to also run these checks, albeit in a (slightly) relaxed form. See the comments at the point of call for the reason. This completes pass 4.
by
aku on
2007-11-09 06:28:19.
[view]
@@ -21,8 +21,9 @@
package require snit ; # OO system.
package require vc::tools::misc ; # Text formatting.
package require vc::tools::log ; # User feedback.
package require vc::fossil::import::cvs::state ; # State storage.
+package require vc::fossil::import::cvs::integrity ; # State storage integrity checks.
package require vc::fossil::import::cvs::project::sym ; # Project level symbols
# # ## ### ##### ######## ############# #####################
## Register the pass with the management
@@ -80,9 +81,21 @@
MutateSymbols
AdjustParents
RefineSymbols
- # Consider a rerun of the pass 2 paranoia checks.
+ # Strict integrity enforces that all meta entries are in
+ # the same LOD as the revision using them. At this point
+ # this may not be true any longer. If a NTDB was excluded
+ # then all revisions it shared with the trunk were moved
+ # to the trunk LOD, however their meta entries will still
+ # refer to the now gone LOD symbol. This is fine however,
+ # it will not affect our ability to use the meta entries
+ # to distinguish and group revisions into changesets. It
+ # should be noted that we cannot simply switch the meta
+ # entries over to the trunk either, as that may cause the
+ # modified entries to violate the unique-ness constrain
+ # set on that table.
+ integrity metarelaxed
}
log write 1 filtersym "Filtering completed"
return
@@ -479,8 +492,9 @@
namespace eval ::vc::fossil::import::cvs::pass {
namespace export filtersym
namespace eval filtersym {
namespace import ::vc::fossil::import::cvs::state
+ namespace import ::vc::fossil::import::cvs::integrity
namespace eval project {
namespace import ::vc::fossil::import::cvs::project::sym
}
namespace import ::vc::tools::misc::nsp