D 2007-12-05T02:32:27 L Import\sCVS\sRepositories P ea7746207cc6bf4b8ba475123e25b52d19864d4c U aku W 5245 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 CollectAr: Collect archives - ok. * Pass CollectRev: Collect revisions, tags, branches (file level) - ok. * Pass CollateSymbols: Collate symbol (project level) from the file level data - ok. * Pass FilterSymbols: Filter symbols, exclude symbols and lines of development - ok. * Pass InitCsets: Create initial changesets - ok. Memory Hog, Slow commit * Pass CsetDeps: Compute changeset dependencies from revision dependencies - ok. * Pass BreakRevCsetCycles: Break cycles among revision changesets - ok. * Pass RevTopologicalSort: Topologically sort revision changesets - ok. * Pass BreakSymCsetCycles: Break cycles among symbol changesets - ok. * Pass BreakAllCsetCycles: Break cycles over all changesets - May still change the order of revision changesets over the result of pass 7. * Pass AllTopologicallSort: Topologically sort all changesets - ok. 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 dcb2f631ebc4719ba1b0eb94ec1f7fd3