5 5 * Using some specific algorithms (graph traversal).
6 6
7 7 Differences:
8 8 * Not using any of its code (Different languages for one thing, [http://www.python.org/|Python] there, [http://www.tcl.tk/|Tcl] here).
9 9 * Persistent state completely different, using [http://www.sqlite.org/|sqlite] database for all things we wish to keep between passes.
10 10
11 11 Status:
12 - * Pass CollectAr: Collect archives - ok.
13 - * Pass CollectRev: Collect revisions, tags, branches (file level) - ok.
14 - * Pass CollateSymbols: Collate symbol (project level) from the file level data - ok.
15 - * Pass FilterSymbols: Filter symbols, exclude symbols and lines of development - ok.
16 - * Pass InitCsets: Create initial changesets - ok. <b>Memory Hog, Slow commit</b>
17 - * Pass CsetDeps: Compute changeset dependencies from revision dependencies - ok.
18 - * Pass BreakRevCsetCycles: Break cycles among revision changesets - ok.
19 - * Pass RevTopologicalSort: Topologically sort revision changesets - ok.
20 - * Pass BreakSymCsetCycles: Break cycles among symbol changesets - ok.
21 - * Pass BreakAllCsetCycles: Break cycles over all changesets - <b>May still change the order of revision changesets over the result of pass 7.</b>
22 - * Pass AllTopologicallSort: Topologically sort all changesets - ok.
12 +<table align=left border=1>
13 +<tr>
14 +<th>Pass</th>
15 +<th>Description</th>
16 +<th>Notes</th>
17 +</tr>
18 +<tr>
19 +<td>CollectAr</td>
20 +<td>Collect archives</td>
21 +<td>Ok</td>
22 +</tr>
23 +<tr>
24 +<td>CollectRev</td>
25 +<td>Collect revisions, tags, branches (file level)</td>
26 +<td>Ok</td>
27 +</tr>
28 +<tr>
29 +<td>CollateSymbols</td>
30 +<td>Collate symbol (project level) from the file level data</td>
31 +<td>Ok</td>
32 +</tr>
33 +<tr>
34 +<td>FilterSymbols</td>
35 +<td>Filter symbols, exclude symbols and lines of development</td>
36 +<td>Ok</td>
37 +</tr>
38 +<tr>
39 +<td>InitCsets</td>
40 +<td>Create initial changesets</td>
41 +<td>Ok. <b>Memory Hog, Slow commit</b></td>
42 +</tr>
43 +<tr>
44 +<td>CsetDeps</td>
45 +<td>Compute changeset dependencies from revision dependencies</td>
46 +<td>Ok</td>
47 +</tr>
48 +<tr>
49 +<td>Pass BreakRevCsetCycles</td>
50 +<td>Break cycles among revision changesets</td>
51 +<td>Ok</td>
52 +</tr>
53 +<tr>
54 +<td>RevTopologicalSort</td>
55 +<td>Topologically sort revision changesets</td>
56 +<td>Ok</td>
57 +</tr>
58 +<tr>
59 +<td>BreakSymCsetCycles</td>
60 +<td>Break cycles among symbol changesets</td>
61 +<td>Ok</td>
62 +</tr>
63 +<tr>
64 +<td>BreakAllCsetCycles</td>
65 +<td>Break cycles over all changesets</td>
66 +<td><b>May still change the order of revision changesets over the result of pass 7.</b></td>
67 +</tr>
68 +<tr>
69 +<td>AllTopologicallSort</td>
70 +<td>Topologically sort all changesets</td>
71 +<td>Ok</td>
72 +</tr>
73 +</table>
74 +
23 75
24 76 Passes to do:
25 77 * 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.
26 78 * Perform the actual import.
27 79
28 80 Notes regarding the actual import:
29 81 <ul>