D 2007-12-04T20:50:46 L Import\sCVS\sRepositories P 4abbbbdcddcdb207f30f8ccc074e36d1029561d6 U anonymous W 4899 Spiritual ancestor: [http://cvs2svn.tigris.org/|cvs2svn]. Similarities: * Using identical highlevel architecture (pass-based) * Using some specific algorithms (graph traversal). Differences: * Not using any 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. Status: * Pass CollAr: Collect archives - ok. * Pass CollRev: Collect revisions, tags, branches (file level) - ok. * Pass CollSym: Collate symbol (project level) from the file level data - ok. * Pass FilterSym: 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 BreakRCycle: Break cycles among revision changesets - ok. * Pass RevTopSort: Topologically sort revision changesets - ok. * Pass BreakSCycle: Break cycles among symbol changesets - ok. * Pass BreakACycle: Break cycles over all changesets - May still change the order of revision changesets over the result of pass 7. * Pass ATopSort: Should be 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 a9e43c65a4f3ab2861abf5fdc8951cbb