Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 descendants and 50 ancestors of 436f17a5f0a39658
|
2007-11-16
| ||
| 04:17 | Completed pass 7, breaking dependency cycles over symbol changesets. Moved the bulk of the cycle breaker code into its own class as it was common to the passes 6 and 7, and updated the two passes accordingly. Added code to load the changeset counter from the state to start properly. ... (check-in: 770a9b576a user: aku tags: trunk) | |
| 03:59 | Bugfix. When setting up or extended the changeset graph a changeset's successor may lay outside of the set of changesets under consideration, i.e. without a node in the graph. Ignore these. This did not (or only rarely) happen before the bugfix to the successor computation of changesets in project::rev (list instead of single). ... (check-in: de64c94f54 user: aku tags: trunk) | |
| 03:54 | Bugfix. When I introduced the 'revisionbranchchildren' table to pass 2 I forgot to update pass 4 as well. Added code to drop the excluded revisons from this table as well, as either parent of branches, or branch child of some other revision. ... (check-in: 2516f4a56d user: aku tags: trunk) | |
| 03:52 | Bugfix. In pass 5, loading the changesets used the type codes instead of the type names. Modified the SQL selecting the data to return the proper names. ... (check-in: 341d96be21 user: aku tags: trunk) | |
|
2007-11-15
| ||
| 07:17 | Added skeleton files for pass 7, the breaking of dependency cycles over symbol-based changesets. ... (check-in: 258366a37a user: aku tags: trunk) | |
|
2007-11-14
| ||
| 05:26 | Added note regarding 'RevisionTopologicalSortPass', which is not a separate pass for us, but part of pass 6, breaking cycles over revision changesets. ... (check-in: f631d438b4 user: aku tags: trunk) | |
| 05:11 | Completed pass 6, wrote the code performing the breaking of cycles. Done by analysing each triple of changesets in the cycle at the file dependency level to see which revisions can be sorted apart. Added some additional utility routines. Extended the changeset class with the accessors required by the cycle breaker. ... (check-in: 94c39d6375 user: aku tags: trunk) | |
| 05:08 | Fixed handling of project objects when persisting them. Fill the project map. This is needed if the pass is not skipped. For the skip case we already initialize the project map when 'load'ing from the state. ... (check-in: 67600f777b user: aku tags: trunk) | |
|
2007-11-13
| ||
| 07:22 | Continued work on pass 6. Completed creation of changeset graph (nodes, dependencies), started on topological iteration and breaking cycles. Basic iteration is complete, fiding a cycle ditto. Not yet done is to actually break a found cycle. Extended the changeset class with the necessary accessor methods (getting cset type, successors, time range). Note: Looking at my code it may be that my decision to save the cset order caused this pass to subsume the RevisionTopologicalSortPass of cvs2svn. Check again when I am done. Note 2: The test case (tcl repository, tcl project) had no cycles. ... (check-in: 85bd219d0b user: aku tags: trunk) | |
| 05:09 | Reworked the in-memory storage of changesets in pass 5 and supporting classes, and added loading of changesets from the persistent state for when the pass is skipped. ... (check-in: 24c0b662de user: aku tags: trunk) | |
|
2007-11-11
| ||
| 00:08 | Started on pass 6, breaking cycles between revision based changesets. Added skeleton files. ... (check-in: 2a01d50430 user: aku tags: trunk) | |
|
2007-11-10
| ||
| 23:44 | Rewrote the algorithm for breaking internal dependencies to my liking. The complex part handling multiple splits has moved from the pass code to the changeset class itself, reusing the state computed for the first split. The state is a bit more complex to allow for its incremental update after a break has been done. Factored major pieces into separate procedures to keep the highlevel code readable. Added lots of official log output to help debugging in case of trouble. ... (check-in: 08ebab80cd user: aku tags: trunk) | |
| 20:40 | Oops. pass 5 is not complete. Missed the breaking of internal dependencies, this is done in this pass already. Extended pass _2_ and file revisions with code to save the branchchildren (possible dependencies), and pass 5 and changesets with the proper algorithm. From cvs2svn, works, do not truly like it, as it throws away and recomputes a lot of state after each split of a cset. Could update and reuse the state to perform all splits in one go. Will try that next, for now we have a working form in the code base. ... (check-in: 95af789e1f user: aku tags: trunk) | |
| 07:46 | Completed pass 5, computing the initial set of changesets. Defined persistent structure and filled out the long-existing placeholder class (project::rev). ... (check-in: 5f7acef887 user: aku tags: trunk) | |
| 05:34 | Started on pass 5, computing the initial approximate set of project level revisions, aka 'ChangeSets'. Skeleton of the pass added. ... (check-in: 54d1e3537e user: aku tags: trunk) | |
|
2007-11-09
| ||
| 06:42 | Added note about why we omit cvs2svn's sorting passes. ... (check-in: 959192d4b7 user: aku tags: trunk) | |
| 06:28 | Moved the paranoid integrity checks of pass 2 into a separate package for use by other passes, and changed pass 4 to also run these checks, albeit in a (slightly) relaxed form. See the comments at the point of call for the reason. This completes pass 4. ... (check-in: 131f051880 user: aku tags: trunk) | |
|
2007-11-07
| ||
| 07:46 | Opcode synchronization reworked, optype table is master from which the in-memory array is loaded. ... (check-in: e45f47ec4a user: aku tags: trunk) | |
| 06:22 | Pass 4 nearly completed. Rewrite symbol mutation, completed adjustment of symbol parents, added symbol refinement (noop or not flags). Now only missing piece is replication of the pass 2 paranoia checks. Note: Checks in the adjustment of parents are a bottleneck. May need indices, or something we can do in memory. ... (check-in: 37734390ca user: aku tags: trunk) | |
| 06:19 | Extended pass 2, save branch positions, needed for pass 4, and added optype table to have the revision opcodes available in the state as well. ... (check-in: 7ab490df24 user: aku tags: trunk) | |
|
2007-11-06
| ||
| 08:05 | Continued work on pass 4. Now propagating the project level information about prefered parents down to the file level tags. Same for the file level branches is not yet done. ... (check-in: 3a530ef947 user: aku tags: trunk) | |
| 07:14 | Continued work on pass 4. Added code bringing the file level symbol data into compliance with the project level symbol types, converting tags to branches and vice versa. ... (check-in: ffafc0bd65 user: aku tags: trunk) | |
| 06:47 | Continued work on pass 4. Implemented the deletion of excluded symbols and all parts referencing them. The complex part is the regrafting of NTDB revisions should a NTDB branch be excluded. This is like 'GraftNTDB2Trunk' in 'file' when excluding everything but the trunk. ... (check-in: 69bf6ab99b user: aku tags: trunk) | |
| 04:57 | Started on pass 4, 'FilterSymbols'. Skeleton. ... (check-in: 11e5d7ce42 user: aku tags: trunk) | |
| 04:55 | Extended comment. ... (check-in: d314894b9a user: aku tags: trunk) | |
| 04:53 | Fix in pass 3, do not compute prefered parents for the excluded symbols. Exclude them from the final check as well due to this. ... (check-in: 4c8a5a44af user: aku tags: trunk) | |
| 04:39 | Completed pass 3, CollateSymbols. Added code determining for each symbol the prefered parent from all possible parents. This is the symbol with the lowest id among the set with the maximum number of occurences as a parent. ... (check-in: efc78b7a42 user: aku tags: trunk) | |
|
2007-11-05
| ||
| 09:04 | Extended options processing to handle --exclude, --force-tag, and --force-branch options. Extended project::sym class with in-memkory databases to hold the option information and replaced the 'UserConfig' placeholder with the actual code using the new databases to determine symbol types based on user-requests. Extended the pass itself with code performing various checks on the results of type determination, partially paranoia, partially to find genuine bad requests (excluding symbols with unexcluded blockers, making a symbol with commits on it a tag, ...). NYI: Computation of the prefered parent for all symbols. ... (check-in: 7eaa420a23 user: aku tags: trunk) | |
|
2007-11-02
| ||
| 06:06 | Continued work on pass 3, added code to determine the type of symbols based on the tag-, branch-, and commit-counts. Hook for handling data coming from the option processoris present (UserConfig), but only as a placeholder. ... (check-in: f888f06fe3 user: aku tags: trunk) | |
| 04:29 | Skeleton for pass 3 added, collating the symbols. ... (check-in: 6d4eb24738 user: aku tags: trunk) | |
| 04:26 | Added code for the loading of pass II data (currently only the smybols) from the state when pass II is skipped. ... (check-in: c3d5104084 user: aku tags: trunk) | |
| 04:24 | Fixed typos. ... (check-in: 77904c1f51 user: aku tags: trunk) | |
|
2007-10-31
| ||
| 03:45 | Milestone I reached (To save the fundamental repository structure into a sqlite database). ... (check-in: cb4d44d60e user: aku tags: trunk) | |
| 03:44 | Added code creating aggregate symbol statistics. This completes pass 2 (CollRev). ... (check-in: 6f8667b03e user: aku tags: trunk) | |
|
2007-10-27
| ||
| 04:59 | Replaced the ASCII art showing entity links with dia'grams and gif images derived from them. Especially useful when trying to understand the paranoia checks. ... (check-in: 831e8f360d user: aku tags: trunk) | |
|
2007-10-26
| ||
| 06:53 | Added another consistency check, and revised the comments to use the more exact terms for the various relationships. ... (check-in: 70d4a81162 user: aku tags: trunk) | |
| 06:11 | Fixed one of the cross-reference checks. ... (check-in: 2e7cbb2829 user: aku tags: trunk) | |
| 05:29 | Added lots of checks looking for inconsistent references between the various objects, mainly revisions. ... (check-in: 2434ad3bfe user: aku tags: trunk) | |
| 05:28 | Added saving of the fundamental symbol information (project level). ... (check-in: 1deb3786aa user: aku tags: trunk) | |
|
2007-10-25
| ||
| 05:16 | Fixed saving of authors, log messages, meta data. This was wrong since revision [99e165d5c4], when the id databases were introduced. Simplified meta saving due to changed trunk coding (no NULL). ... (check-in: 89e9b357ed user: aku tags: trunk) | |
| 05:14 | Formatting change, code alignment. ... (check-in: 7375ebb988 user: aku tags: trunk) | |
| 05:13 | Changed the coding of trunk symbols. Using NULL makes for difficult comparisons later when doing integrity checks. Each trunk now has a regular unique id as a symbol. Added documentation to the table definitions, about references, constraints, etc. ... (check-in: 2c08006d9d user: aku tags: trunk) | |
|
2007-10-24
| ||
| 14:44 | Extended pass manager to keep timing data for the executed passes and show them after completion of all passes. ... (check-in: 05f9c95573 user: aku tags: trunk) | |
| 08:01 | Extended handling of id's for files so that we have them for backreferences from symbols and revisions. Completed persistence of revisions and symbols at file-level and fixed small problem with left-over links to branches. ... (check-in: adf168e23e user: aku tags: trunk) | |
| 07:54 | Disabled check for control characters in the log message. Allowing this for the moment, lets see if we run into trouble later on. Further reworked the check of symbol names, disallow forward slashs only at end. Found legal tags containing forward slashs in the middle. ... (check-in: fa643aa91d user: aku tags: trunk) | |
|
2007-10-23
| ||
| 04:36 | Restructured the code handling NTBD in ExcludeBranch a bit to prevent the asserts in GraftNTDB2Trunk to bail out. ... (check-in: e94b52b6f2 user: aku tags: trunk) | |
| 04:34 | Added a bit of path normalization, stripping of a trailing slash from the path to the cvs repository. Before such a slash could break a later coming fileutil::stripPath. ... (check-in: 9f3fd3ec4b user: aku tags: trunk) | |
| 04:32 | Added more checks to the RCS parser to detect bogus symbol names and problematic log messages. Added ability to rewind back to the beginning of the last recognized token for a nicer positioned error message. ... (check-in: 1527954d87 user: aku tags: trunk) | |
| 03:29 | Reworked object deletion to happen centrally after the file has been processed (drop). Simplified the code restructuring the revision tree as it now doesn't have to think about when and where to remove objects. ... (check-in: a766b08198 user: aku tags: trunk) | |
| 02:29 | Due to quickly building memory pressure for large cvs repositories (thousands of revisions and symbol object) we have to save the pertinent information of a file immediately after it has been processed and then clear the memory. Inserted the basic skeleton for this into pass and file objects. ... (check-in: 3a00ac5aa2 user: aku tags: trunk) | |
|
2007-10-21
| ||
| 07:08 | Simplified the code for excluding non-trunk revisions a bit, using higher-level methods for some changes. Added missing revision destruction. ... (check-in: 436f17a5f0 user: aku tags: trunk) | |
| 06:10 | Added code able to exclude all non-trunk revisions upon user request. ... (check-in: 886b6f257b user: aku tags: trunk) | |
| 04:42 | Created a separate common class for the id databases used by the repository, and updated the repository code to use it. ... (check-in: 99e165d5c4 user: aku tags: trunk) | |
|
2007-10-19
| ||
| 07:23 | Continued the work on pass II, wrangling a file into shape. Completed handling of unnecessary initial deletions on branches. ... (check-in: 510cd02303 user: aku tags: trunk) | |
| 07:22 | Extended the RCS parser to handle extended (aka new) phrases coming after the regular data of a revision, in the revision tree. ... (check-in: 294156a36f user: aku tags: trunk) | |
|
2007-10-17
| ||
| 04:37 | Added detection of irrelevant trunk revisions for files added to a branch but not the trunk. Repository extended to keep inverted indices for the meta data and commit messages for retrieval of commit messages per meta data, required for the previous. fixed problem with file objects, we kept only the rcs path, and need the user visible path too. ... (check-in: cfe4b269ac user: aku tags: trunk) | |
| 04:33 | Extended file-level symbols and project-level trunk with methods to allow users to distinguish them (trunk vs. not trunk, for use as lines of development). ... (check-in: 09af24fc7c user: aku tags: trunk) | |
| 03:24 | Switched procs to methods, got rid of unwieldy and error-prone explicit import of instance variables. ... (check-in: b5b2d61527 user: aku tags: trunk) | |
| 03:15 | Fix setting of myimported, wrong condition. Fix item assignment when sorting branches. Fix parent/child linkage when setting up branch dependencies. Completed processes on non-trunk default branch revisions. Added skeleton code for the deletion of superfluous revisions. ... (check-in: 177a0cc55c user: aku tags: trunk) | |
| 03:10 | More handling for option --trunk-only. ... (check-in: a3cd0c3099 user: aku tags: trunk) | |
| 03:09 | Added new option --trunk-only, state and processing. ... (check-in: 3bde1a2e2f user: aku tags: trunk) | |
| 03:08 | New helper command to delete item from list by name instead of position. ... (check-in: 4e49cbf03b user: aku tags: trunk) | |
|
2007-10-15
| ||
| 00:03 | Continued work on pass II, starting to post-process tags, branches, and revisions, cleaning up cvs quirks, determining higher-level aggregates ... ... (check-in: e5441b908d user: aku tags: trunk) | |
|
2007-10-14
| ||
| 01:58 | Reworked the whole handling of meta data (author, commit message, plus project/branch information), so that revisions now store only the meta id, everything else is stored centrally. All the relevant pieces (author, cmessage, symbols, projects) now also get numeric ids assigned early instead of when being saved to the state. Project ids are loaded from the state now too. ... (check-in: 67c24820c7 user: aku tags: trunk) | |
|
2007-10-13
| ||
| 23:57 | Completed loading of pass I from persistent state when skipped. ... (check-in: 54ac684df7 user: aku tags: trunk) | |
| 23:29 | Extended pass manager to handle the skipped and defered passes coming before and after the actually executed passes. Extended passes I and II to have the required methods. Implemented loading (for skipped passes) as skeletons, implemented discarding (for defered passes) completely. Extended state manager with ability to discard state. ... (check-in: ae19c0fcb4 user: aku tags: trunk) | |
| 21:15 | Extended pass I to capture the 'file executable' info of rcs archives. Currently the only way to store this info in the destination will be the use of fossil tags. ... (check-in: 27470a9304 user: aku tags: trunk) | |
| 05:39 | The basic work of setting up and linking revisions, tags, and branches is complete. ... (check-in: cb70cf4ad6 user: aku tags: trunk) | |
|
2007-10-12
| ||
| 07:20 | Extended rcs parser with another callback run after the processing of the revision tree completed, before starting on description and delta texts. Updated file class to intercept the callback. ... (check-in: 40eaf58ec7 user: aku tags: trunk) | |
| 07:18 | Continued to flesh out revision and symbol processing. Started on the project level classses. ... (check-in: da9295c6f6 user: aku tags: trunk) | |
| 05:57 | Extended rcs parser to tag errors which are syntax errors in the RCS archive. Extended pass handling to capture trouble and distinguish between internal problems and syntax errors. ... (check-in: be891232a2 user: aku tags: trunk) | |
| 05:56 | Started to flesh out the handling symbols and revisions coming in from the rcs parser. First fragments of revision object. Type methods for classification of revision numb ers. ... (check-in: bd131addb9 user: aku tags: trunk) | |
|
2007-10-10
| ||
| 05:36 | Added more checks to pass I looking for possible file/directory conflicts in the repository, and modified traverser to report on and ignore sub directories of Attic's. ... (check-in: a10f654ac7 user: aku tags: trunk) | |
| 04:23 | API tweak rcs parser, definition of symbols, call through the callback once per symbol instead of once for the whole set. ... (check-in: 338854a61a user: aku tags: trunk) | |
| 03:28 | Added a lot of skeleton files for the revision and symbol data structures, for both project and file level. ... (check-in: 84de38d73f user: aku tags: trunk) | |
|
2007-10-06
| ||
| 22:13 | Found easier way to access the typevariables of singletons when writing the rcs parser. Now moved the other singletons to the same construction. ... (check-in: 70b0aa899a user: aku tags: trunk) | |
| 22:06 | Broke static dependency cycle repository <- project <- file <- repository, now using dynamic/runtime object references instead. This allows us to keep the nice and readable format for our files, code is readable too. ... (check-in: 8487172254 user: aku tags: trunk) | |
| 21:59 | Started capture of revision information in file objects. Capturing authors and commit messages and repository level. Completed persistence for these latter too. Rearranged the requirements, imports, and exports a bit to handle the new dependency cycle repository <- project <- file <- repository ... (check-in: 3d88cfd05d user: aku tags: trunk) | |
| 21:19 | Continued work on pass II, skeleton of it completed by adding outline of code for persistence. ... (check-in: 6d1811d61e user: aku tags: trunk) | |
| 21:01 | Added skeleton and dump methods to make file objects proper sinks for the rcs parser. ... (check-in: 2e3815c3b4 user: aku tags: trunk) | |
| 21:00 | rcs parser rewritten to snit type, singleton, using callbacks to convey information. Got a grip on regexp -start -indices (^ -> \A, indices are absolute). This means that I now don't have to shift the unprocessed string down in memory, it is all index processing now. This makes for a much faster parser, especially for large files with many revisions (example: ChangeLogs). ... (check-in: e7bb3d073d user: aku tags: trunk) | |
| 20:58 | Nicer parser integration into pass II, and sort files for easier filesystem traversal during parsing. ... (check-in: ec053168a8 user: aku tags: trunk) | |
| 18:43 | Fleshed out pass II, added skeleton of rcs archive class, started integration of rcs parser. ... (check-in: 8a93ffa9c1 user: aku tags: trunk) | |
| 18:28 | Bringing back in the old parser for rcs archives. ... (check-in: 860f533e98 user: aku tags: trunk) | |
| 03:56 | Added pass II (collection of revision and symbols), basic skeleton and state definitions, and integrated into the pass manager. ... (check-in: fdbc01df95 user: aku tags: trunk) | |
| 03:55 | Added documentation to state definition, and debugging output to the state system itself. ... (check-in: 10f9d51bb2 user: aku tags: trunk) | |
| 03:53 | Better formatting for --help-passes, align codes. ... (check-in: 43d72c6246 user: aku tags: trunk) | |
|
2007-10-05
| ||
| 07:27 | Completed integration of state with pass I, now saving projects and files into it. ... (check-in: 042d54bae5 user: aku tags: trunk) | |
| 07:08 | Collapse multiple uses of a project path into one project. ... (check-in: d174affb48 user: aku tags: trunk) | |
| 07:07 | Added documentation for the persistent state of pass I. ... (check-in: 78da61db0e user: aku tags: trunk) | |
| 06:50 | Extended state handling with methods to declare usage and structure of state, started integration of state with pass I, collection of projects and files. ... (check-in: fb1e36d290 user: aku tags: trunk) | |
| 05:33 | Added the basic parts of the state manager and integrated it with option processor and pass manager. ... (check-in: eb656de7d9 user: aku tags: trunk) | |
|
2007-10-04
| ||
| 04:34 | Continued work on pass I. Filled in the repository management, and basic implementation of project objects. Missing are persistence and the foundation for that (cache database). ... (check-in: 52f2254007 user: aku tags: trunk) | |
| 04:32 | Extended option processing, added handling of verbosity/quietness. ... (check-in: 2929a438ef user: aku tags: trunk) | |
|
2007-10-03
| ||
| 04:18 | Added stub for repository management, added most of pass I, collecting archives in the repository. ... (check-in: 47740cc1f6 user: aku tags: trunk) | |
|
2007-10-02
| ||
| 06:48 | Added the pass management, integrated with application and option processor. ... (check-in: 5911515322 user: aku tags: trunk) | |
| 05:33 | Re-added the user feedback and error reporting utilities, with modifications, and completed the handling of the informational options. ... (check-in: d57b7b4a05 user: aku tags: trunk) | |
| 03:05 | Third attempt at getting a cvs importer which can handle branches. Using cvs2svn code and design notes as a guide. ... (check-in: 2a98ac44bd user: aku tags: trunk) | |
|
2007-09-27
| ||
| 04:44 | CVS import. First, fixed sig::next regarding two things. One, we have to take the root version of a file into account as a possible predecessor. Two, a missing changed file may be misclassified and actually be added instead. Second, modified the search for a root changeset of a branch. We now try the existing regular intersection first for exactness, and in case of failure we fall back to a voting scheme to locate the most acceptable aka non-conflicting changeset. ... (check-in: 7a64b9e738 user: aku tags: trunk) | |
|
2007-09-26
| ||
| 07:06 | Bugfix for 3852590ce6. Make the use of cache files in the rcs parser actually dependent on the user option. ... (check-in: f6f5c902e6 user: aku tags: trunk) | |
| 05:06 | Continued work on the import of branches. Main principle now is to handle the branches vertically. First the trunk, then the branch starting with the first unprocessed changeset, and so forth. Looks more promising than the previous approach. Currently handles just a bit over half of the test projects (11 of 21 in 6 repositories). ... (check-in: 72dac950c3 user: aku tags: trunk) | |