File History

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of tools/cvs2fossil/lib/c2f_option.tcl

Added options --tempdir, -t to redirect the importer to a user-specified directory for temp files and directories. file: [737f972b] check-in: [c5e9fa8d] user: aku branch: trunk, size: 11432
Fix code handling --memory-track, missed import of its supporting command. file: [807a1830] check-in: [02467830] user: aku branch: trunk, size: 10512
Integrated memory tracking into the option processor for activation and configuration, and into the log system for use. The latter means that each actual output to the log is an introspection point. file: [525f34a1] check-in: [7b71f647] user: aku branch: trunk, size: 10466
Added code to skip of administrative .cvsignore files. Added code to detect and warn about dot files (.FOO). Allow the user to import dot files by converting their names to non-dot form (.FOO -> dot-FOO). file: [be274ee7] check-in: [c1dc8701] user: aku branch: trunk, size: 10206
Integrated the new fossil management class with the option processor. New option --fossil to specify the fossil executable if it was not found in the PATH, or to overide the PATH. file: [490b79f3] check-in: [1a20a81f] user: aku branch: trunk, size: 9825
Fluff: Renamed state methods use/reading/writing to usedb/use/extend for clarity. Updated all callers. Extended state module with code to dump the SQL statements it receives to a file for analysis. Extended the 'use' declarations of several passes. file: [6e1ccf1f] check-in: [e288af39] user: aku branch: trunk, size: 9271
The performance was still not satisfying, even with faster recomputing of successors. Doing it multiple times (Building the graph in each breaker and sort passes) eats time. Caching in memory blows the memory. Chosen solution: Cache this information in the database.    Created a new pass 'CsetDeps' which is run between 'InitCsets' and 'BreakRevCsetCycles' (i.e. changeset creation and first breaker pass). It computes the changeset dependencies from the file-level dependencies once and saves the result in the state, in the new table 'cssuccessor'. Now the breaker and sort passes can get the information quickly, with virtually no effort. The dependencies are recomputed incrementally when a changeset is split by one of the breaker passes, for its fragments and its predecessors.    The loop check is now trivial, and integrated into the successor computation, with the heavy lifting for the detailed analysis and reporting moved down into the type-dependent SQL queries. The relevant new method is 'loops'. Now that the loop check is incremental the pass based checks have been removed from the integrity module, and the option '--loopcheck' has been eliminated. For paranoia the graph setup and modification code got its loop check reinstated as an assert, redusing the changeset report code.    Renumbered the breaker and sort passes. A number of places, like graph setup and traversal, loading of changesets, etc. got feedback indicators to show their progress.    The selection of revision and symbol changesets for the associated breaker passes was a bit on the slow side. We now keep changeset lists sorted by type (during loading or general construction) and access them directly. file: [5835c5aa] check-in: [00bf8c19] user: aku branch: trunk, size: 9148
Easier name for self-referential changesets, loopcheck. Made conditional on option --loopcheck, default off, and avoided if the general checks on changesets report trouble. Reinstated the loop check in the cycle breaker core in simpler form, reusing the new command in the changeset class. file: [b6d7645a] check-in: [0af7a3c8] user: aku branch: trunk, size: 9400
Code cleanup. Removed trailing whitespace across the board. file: [21dce38c] check-in: [b679ca33] user: aku branch: trunk, size: 9011
Extended cycle breaker with debug facility allowing the user to watch the neighbourhood of specific changesets during the traversal. Extended label information, highlighting of the nodes of interest. Tweaked log output a bit. file: [36ee7e3c] check-in: [97b4405e] user: aku branch: trunk, size: 9012
Added the ability to export the changeset graphs processed by the passes 6 to 8 using GraphViz's dot-format. This is activated by using the switch '--dots'. Bugfixes in the cycle breaker. First corrected variable names, I forgot to use the standard 'myXXX' format for the typevariables. Second, fixed a bug uncovered by looking at the exported graphs, which caused the system to loose arcs, possibly breaking cycles without actually breaking them, leaving them in the dependencies. file: [5b894a43] check-in: [7f15be90] user: aku branch: trunk, size: 8940
Added an option "--batch" with which the user can disable the feedback display standard to interactive use. file: [593517a5] check-in: [4e7dd05f] user: aku branch: trunk, size: 8439
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. file: [d7008b5e] check-in: [7eaa420a] user: aku branch: trunk, size: 8294
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. file: [ebc8b51d] check-in: [9f3fd3ec] user: aku branch: trunk, size: 6807
Added new option --trunk-only, state and processing. file: [90466e50] check-in: [3bde1a2e] user: aku branch: trunk, size: 6647
Added the basic parts of the state manager and integrated it with option processor and pass manager. file: [5618bdee] check-in: [eb656de7] user: aku branch: trunk, size: 6591
Extended option processing, added handling of verbosity/quietness. file: [79fff162] check-in: [2929a438] user: aku branch: trunk, size: 5981
Added stub for repository management, added most of pass I, collecting archives in the repository. file: [08855f1e] check-in: [47740cc1] user: aku branch: trunk, size: 5781
Added the pass management, integrated with application and option processor. file: [87e6ea63] check-in: [59115153] user: aku branch: trunk, size: 5103
Re-added the user feedback and error reporting utilities, with modifications, and completed the handling of the informational options. file: [fc9f6279] check-in: [d57b7b4a] user: aku branch: trunk, size: 4624
Third attempt at getting a cvs importer which can handle branches. Using cvs2svn code and design notes as a guide. file: [db1981ab] check-in: [2a98ac44] user: aku branch: trunk, size: 3434 Added