Each line is of the form DATE; AUTHOR; STATE; REVISION (BRANCHES) (TAGS) PATH The lines are sorted and lazily divided into commit groups. (There may be more commits than listed here, since the log messages were not included, but those will come out in the wash as we verify the output.) Comments and problems are noted in "[]" brackets at the end of each commit group. Here we go: *** end rev 0 *** 93.06.18.05.46.07; jrandom; Exp; 1.1 () () full-prune/Attic/first 93.06.18.05.46.07; jrandom; Exp; 1.1 () () full-prune-reappear/sub/Attic/first 93.06.18.05.46.07; jrandom; Exp; 1.1 () () partial-prune/sub/Attic/first *** end rev 1 *** 93.06.18.05.46.08; jrandom; Exp; 1.1.1.1 () () full-prune/Attic/first 93.06.18.05.46.08; jrandom; Exp; 1.1.1.1 () () full-prune-reappear/sub/Attic/first 93.06.18.05.46.08; jrandom; Exp; 1.1.1.1 () () partial-prune/sub/Attic/first [Notes: these files had no 'vendortag' symbol for 1.1.1.1, so it just looks like another commit!] *** end rev 2 *** 94.06.18.05.46.08; jrandom; Exp; 1.1 () () partial-prune/permanent *** end rev 3 *** 94.06.18.05.46.08; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) partial-prune/permanent *** end rev 4 *** 95.03.31.07.44.01; jrandom; Exp; 1.1 () () full-prune/Attic/second 95.03.31.07.44.01; jrandom; Exp; 1.1 () () full-prune-reappear/sub/Attic/second 95.03.31.07.44.01; jrandom; Exp; 1.1 () () partial-prune/sub/Attic/second *** end rev 5 *** 95.03.31.07.44.02; jrandom; Exp; 1.1.1.1 () () full-prune/Attic/second 95.03.31.07.44.02; jrandom; Exp; 1.1.1.1 () () full-prune-reappear/sub/Attic/second 95.03.31.07.44.02; jrandom; Exp; 1.1.1.1 () () partial-prune/sub/Attic/second [Again, no symbols associated with these revisions, so they appear on trunk despite looking like branch revisions.] *** end rev 6 *** 95.12.11.00.27.53; jrandom; dead; 1.2 () () full-prune/Attic/first 95.12.11.00.27.53; jrandom; dead; 1.2 () () full-prune-reappear/sub/Attic/first 95.12.11.00.27.53; jrandom; dead; 1.2 () () partial-prune/sub/Attic/first *** end rev 7 *** 95.12.30.18.37.22; jrandom; dead; 1.3 () () full-prune/Attic/first 95.12.30.18.37.22; jrandom; dead; 1.3 () () full-prune-reappear/sub/Attic/first 95.12.30.18.37.22; jrandom; dead; 1.3 () () partial-prune/sub/Attic/first [Note: If we change the behavior whereby redeletion causes an empty revision, then the numbering from here on may shift back by 1.] *** end rev 8 (no-op, because redeletions) *** 96.08.20.23.53.47; jrandom; dead; 1.2 () () full-prune/Attic/second 96.08.20.23.53.47; jrandom; dead; 1.2 () () full-prune-reappear/sub/Attic/second 96.08.20.23.53.47; jrandom; dead; 1.2 () () partial-prune/sub/Attic/second [Note that the removal of these files causes pruning of directories higher up. See also note in rev 8 about possible renumbering.] *** end rev 9 *** 2002.09.29.00.00.00; jrandom; Exp; 1.1 () () single-files/twoquick *** end rev 10 *** 2002.09.29.00.00.01; jrandom; Exp; 1.2 () (after) single-files/twoquick *** end rev 11 *** 2002.11.30.19.27.42; jrandom; Exp; 1.1 () () single-files/space fname *** end rev 12 *** 2002.11.30.19.27.42; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) single-files/space fname *** end rev 13 *** 2003.01.25.13.43.57; jrandom; Exp; 1.1 () () single-files/attr-exec *** end rev 14 *** 2003.01.25.13.43.57; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) single-files/attr-exec *** end rev 15 *** 2003.05.22.23.20.19; jrandom; Exp; 1.1 () () proj/default 2003.05.22.23.20.19; jrandom; Exp; 1.1 () () proj/sub1/default 2003.05.22.23.20.19; jrandom; Exp; 1.1 () () proj/sub1/subsubA/default 2003.05.22.23.20.19; jrandom; Exp; 1.1 () () proj/sub1/subsubB/default 2003.05.22.23.20.19; jrandom; Exp; 1.1 () () proj/sub2/default 2003.05.22.23.20.19; jrandom; Exp; 1.1 () (T_MIXED) proj/sub2/subsubA/default 2003.05.22.23.20.19; jrandom; Exp; 1.1 () () proj/sub3/default *** end rev 16 *** 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES, T_ALL_INITIAL_FILES_BUT_ONE) proj/default 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES, T_ALL_INITIAL_FILES_BUT_ONE) proj/sub1/default 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES, T_ALL_INITIAL_FILES_BUT_ONE) proj/sub1/subsubA/default 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES) proj/sub1/subsubB/default 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES, T_ALL_INITIAL_FILES_BUT_ONE) proj/sub2/default 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES, T_ALL_INITIAL_FILES_BUT_ONE) proj/sub2/subsubA/default 2003.05.22.23.20.19; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag, T_ALL_INITIAL_FILES, T_ALL_INITIAL_FILES_BUT_ONE) proj/sub3/default *** end rev 17 *** 2003.05.23.00.15.26; jrandom; Exp; 1.2 () () proj/sub1/subsubA/default 2003.05.23.00.15.26; jrandom; Exp; 1.2 () (T_MIXED) proj/sub3/default *** end rev 18 *** 2003.05.23.00.17.53; jrandom; Exp; 1.2 () (T_MIXED) proj/default 2003.05.23.00.17.53; jrandom; Exp; 1.2 () (T_MIXED) proj/sub1/default 2003.05.23.00.17.53; jrandom; Exp; 1.2 () (T_MIXED) proj/sub1/subsubB/default 2003.05.23.00.17.53; jrandom; Exp; 1.2 () (T_MIXED) proj/sub2/default 2003.05.23.00.17.53; jrandom; Exp; 1.2 () () proj/sub2/subsubA/default 2003.05.23.00.17.53; jrandom; Exp; 1.3 () (T_MIXED) proj/sub1/subsubA/default 2003.05.23.00.17.53; jrandom; Exp; 1.3 () () proj/sub3/default *** end rev 19 *** 2003.05.23.00.25.26; jrandom; dead; 1.1 () () proj/sub2/Attic/branch_B_MIXED_only 2003.05.23.00.25.26; jrandom; Exp; 1.1.2.1 (B_MIXED) () proj/sub2/Attic/branch_B_MIXED_only [Okay, problem: This revision creates branch B_MIXED, by copying revision 19 of trunk. But it fails to recopy 'proj/sub3/default' and 'proj/sub2/subsubA/default' from some revision earlier than 19, which it needs to do because in those files, B_MIXED sprouts from 1.2 and 1.1 respectively, not 1.3 and 1.2 (the latter being what you get if you just copy from revision 19). This means that the contents of those files are wrong in branches/B_MIXED/'s first incarnation. Even if they get fixed up in some later revision, there is still a period of wrongness.] *** end rev 20 *** 2003.05.23.00.31.36; jrandom; Exp; 1.1.2.1 (B_MIXED) () proj/sub2/subsubA/default 2003.05.23.00.31.36; jrandom; Exp; 1.2.2.1 (B_MIXED) () proj/default 2003.05.23.00.31.36; jrandom; Exp; 1.2.2.1 (B_MIXED) () proj/sub1/default *** end of tentative commit group X *** 2003.05.23.00.48.51; jrandom; Exp; 1.1.2.2 (B_MIXED) () proj/sub2/Attic/branch_B_MIXED_only 2003.05.23.00.48.51; jrandom; Exp; 1.3 () () proj/sub2/default *** end of tentative commit group X *** 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/1 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/2 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/3 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/4 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/5 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/a 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/b 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/c 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/d 2003.05.24.01.02.01; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) interleaved/e *** end of tentative commit group X *** 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/1 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/2 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/3 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/4 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/5 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/a 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/b 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/c 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/d 2003.05.24.01.02.01; jrandom; Exp; 1.1 () () interleaved/e *** end of tentative commit group X *** 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/1 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/2 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/3 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/4 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/5 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/a 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/b 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/c 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/d 2003.06.03.00.20.01; jrandom; Exp; 1.2 () () interleaved/e *** end of tentative commit group X *** 2003.06.03.03.20.31; jrandom; Exp; 1.2.2.1 (B_SPLIT) () proj/sub2/subsubA/default 2003.06.03.03.20.31; jrandom; Exp; 1.2.4.1 (B_SPLIT) () proj/default 2003.06.03.03.20.31; jrandom; Exp; 1.2.4.1 (B_SPLIT) () proj/sub1/default 2003.06.03.03.20.31; jrandom; Exp; 1.3.2.1 (B_SPLIT) () proj/sub2/default 2003.06.03.03.20.31; jrandom; Exp; 1.3.4.1 (B_SPLIT) () proj/sub1/subsubA/default *** end of tentative commit group X *** 2003.06.03.04.29.14; jrandom; Exp; 1.3 () () proj/sub1/subsubB/default 2003.06.03.04.33.13; jrandom; Exp; 1.3.2.1 (B_SPLIT) () proj/sub1/subsubB/default 2003.06.03.04.33.13; jrandom; Exp; 1.3.2.1 (B_SPLIT) () proj/sub3/default *** end of tentative commit group X *** 2003.06.10.20.19.48; jrandom; Exp; 1.1.1.1 (vendorbranch) (vendortag) full-prune-reappear/appears-later 2003.06.10.20.19.48; jrandom; Exp; 1.1 () () full-prune-reappear/appears-later *** end of tentative commit group X ***