D 2007-12-05T21:02:30 L Import\sCVS\sRepositories P 1f8711cf17b684cf2893bdcde310ae1601e2d181 U anonymous W 5788 Spiritual ancestor: [http://cvs2svn.tigris.org/|cvs2svn]. Similarities: * Using identical highlevel architecture (pass-based) * Using some specific algorithms (graph traversal). Differences: * Not using any of its code (Different languages for one thing, [http://www.python.org/|Python] there, [http://www.tcl.tk/|Tcl] here). * Persistent state completely different, using [http://www.sqlite.org/|sqlite] database for all things we wish to keep between passes.

Status:
Pass Description Notes
CollectAr Collect archives Ok
CollectRev Collect revisions, tags, branches (file level) Ok
CollateSymbols Collate symbol (project level) from the file level data Ok
FilterSymbols Filter symbols, exclude symbols and lines of development Ok
InitCsets Create initial changesets Ok. Memory Hog, Slow commit
CsetDeps Compute changeset dependencies from revision dependencies Ok
Pass BreakRevCsetCycles Break cycles among revision changesets Ok
RevTopologicalSort Topologically sort revision changesets Ok
BreakSymCsetCycles Break cycles among symbol changesets Ok
BreakAllCsetCycles Break cycles over all changesets May still change the order of revision changesets over the result of pass 7.
AllTopologicallSort Topologically sort all changesets Ok
Import Import files and changesets Being worked on, currently files

Passes to do: * Put changeset order from the top.sort passes and tree of symbols from the coll|FilterSym passes together into a tree of changesets. Note that it might not be a tree if there is an NTDB around. * Perform the actual import. Notes regarding the actual import: Miscellaneous: Z 0bbb38da8384468a9cf0cc7f9bd2036b