D 2007-12-04T20:24:13 L Import\sCVS\sRepositories P efaf06a56a2b23193383cdc442fbb371fa22480e U anonymous W 2580 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: