File History

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

History of tools/cvs2fossil/lib/c2f_file.tcl

cvs2fossil, fixed off-by-one errors in the application of RCS patches. file: [43f6a2b4] check-in: [68cf3ecd] user: aku branch: trunk, size: 45099
Updated my notes regarding memory usage. Converted more locations to incremental query processing via 'state foreachrow', now throughout the importer. file: [8d01091d] check-in: [f637d422] user: aku branch: trunk, size: 44967
Updated the copyright information of all files touched in the new year. file: [a5aa8fb6] check-in: [66235f24] user: aku branch: trunk, size: 44866
Reworked the revision import to use the new state tracking system instead of the simple array. Moved some log outputs. Added a file listing the known problems to prevent me from forgetting stuff as it piles up :/ file: [2d5c2ae5] check-in: [e1dbf318] user: aku branch: trunk, size: 44861
Removed the now obsolete textrange information from the revision table and updated the file revision code to not store its textrange any longer. file: [8f9fa8b3] check-in: [3e76f2a5] user: aku branch: trunk, size: 44815
Modified filtering pass to drop the blobs of excluded revisions, for them we can be sure that we will not need them later, as whole branches are dropped. Modified the file import to use the new blob information to setup the expansion graph. This fixes the trouble we had with archive files in bwidget. They are now properly expanded. file: [9ff9d6ea] check-in: [83d75a6c] user: aku branch: trunk, size: 44486
Extended the collection of revisions for a file with a separate blob store to manage the text ranges of revisions and their dependencies separate from the revisions. This will be used later (upcoming) to properly expand a file even if revisions were removed as irrelevant during the collection and filter passes. file: [64c0d8ac] check-in: [aa04ac9d] user: aku branch: trunk, size: 44404
Added high-verbosity (level 11) logging to trace the application of rcs patches. file: [8326ac9a] check-in: [e5ae612c] user: aku branch: trunk, size: 43743
Changes to cvs2fossil to import tcllib CVS into fossil on Win32    * using [::file] instead of [file] in snit methods to get the core file command * taking care of files that only differ in case in the Attic and the repo on case insensitive FS * passing platform specific file: [ce592fc0] check-in: [7208c7ac] user: mjanssen branch: trunk, size: 43422
Fixed bug in the code detaching a vendor branch. Left link to removed parent dangling, and killed connection to first on branch. No more. file: [f9acec54] check-in: [0adaabf1] user: aku branch: trunk, size: 43418
Extended traversal core to allow custom labeling of the log output immediately before the traversal starts. file: [59c3833a] check-in: [b81901ad] user: aku branch: trunk, size: 43339
Removed the automatic destruction of the traversed graph from the traversal core and put it into the caller (import only, currently). file: [7bea1e82] check-in: [b59cdc7f] user: aku branch: trunk, size: 43272
Added progress feedback to the file import, and moved the log output to level 8. file: [5721cadf] check-in: [08f80857] user: aku branch: trunk, size: 43319
Fixed handling of empty revisions. file: [44f7ae68] check-in: [bf0b70d5] user: aku branch: trunk, size: 43209
Extended file handling with main logic to import an archive into fossil. Main parts are determining the various orders for expansion and import, and expanding all revisions in an archive into full texts, iteratively applying the stored deltas. file: [b1c125a0] check-in: [e100314e] user: aku branch: trunk, size: 43151
The handling of detached lines of development (floating branches) still had some bugs regarding the linkage to their revisions, especially the first revision on such branches. Fixed the relevant places, added early integrity checks and updated the main checks to handle the situation. file: [04dc95a1] check-in: [c4003e7b] user: aku branch: trunk, size: 35771
Bugfix. Handle free-floating branches (their root revision was removed as unnecessary). file: [995eee5b] check-in: [79c227a9] user: aku branch: trunk, size: 35490
Added convenience method for assertions and used it in place of the existing if/trouble internal constructions. Changed API of 'log write' so that we can defer substituation of the message to when the write actually happen, and converted all places which would be hit by double-substitution. The remaining 'log write' calls will be converted incrementally. file: [91fadc85] check-in: [47d52d1e] user: aku branch: trunk, size: 35464
Code cleanup. Removed trailing whitespace across the board. file: [0e3e1e66] check-in: [b679ca33] user: aku branch: trunk, size: 35372
Fixed the calculation of possible parents for a detached NTDB. Has to be trunk. The symbols were skipped before, causing them to have no parents at all later on, forcing an abort after CollateSymbols. Added some high verbosity log commands for debugging of this area. file: [24470833] check-in: [930ec162] user: aku branch: trunk, size: 35383
Added code creating aggregate symbol statistics. This completes pass 2 (CollRev). file: [a0a48d68] check-in: [6f8667b0] user: aku branch: trunk, size: 35140
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. file: [bd5c5d46] check-in: [adf168e2] user: aku branch: trunk, size: 33493
Restructured the code handling NTBD in ExcludeBranch a bit to prevent the asserts in GraftNTDB2Trunk to bail out. file: [f06eb21d] check-in: [e94b52b6] user: aku branch: trunk, size: 31641
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. file: [78de4a94] check-in: [a766b081] user: aku branch: trunk, size: 31623
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. file: [1f4a6c30] check-in: [3a00ac5a] user: aku branch: trunk, size: 31163
Simplified the code for excluding non-trunk revisions a bit, using higher-level methods for some changes. Added missing revision destruction. file: [55db58af] check-in: [436f17a5] user: aku branch: trunk, size: 31132
Added code able to exclude all non-trunk revisions upon user request. file: [3105dc0d] check-in: [886b6f25] user: aku branch: trunk, size: 31240
Continued the work on pass II, wrangling a file into shape. Completed handling of unnecessary initial deletions on branches. file: [26e48dda] check-in: [510cd023] user: aku branch: trunk, size: 26601
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. file: [a38feddb] check-in: [cfe4b269] user: aku branch: trunk, size: 24744
Switched procs to methods, got rid of unwieldy and error-prone explicit import of instance variables. file: [84ab0c78] check-in: [b5b2d615] user: aku branch: trunk, size: 23284
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. file: [952128b4] check-in: [177a0cc5] user: aku branch: trunk, size: 23891
Continued work on pass II, starting to post-process tags, branches, and revisions, cleaning up cvs quirks, determining higher-level aggregates ... file: [6a3824b8] check-in: [e5441b90] user: aku branch: trunk, size: 14920
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. file: [2626e348] check-in: [67c24820] user: aku branch: trunk, size: 13359
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. file: [f6e77969] check-in: [27470a93] user: aku branch: trunk, size: 13220
The basic work of setting up and linking revisions, tags, and branches is complete. file: [880ea7b0] check-in: [cb70cf4a] user: aku branch: trunk, size: 13128
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. file: [f38b4cea] check-in: [40eaf58e] user: aku branch: trunk, size: 9651
Continued to flesh out revision and symbol processing. Started on the project level classses. file: [00ef0cca] check-in: [da9295c6] user: aku branch: trunk, size: 9575
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. file: [a86b5d44] check-in: [bd131add] user: aku branch: trunk, size: 9804
API tweak rcs parser, definition of symbols, call through the callback once per symbol instead of once for the whole set. file: [4bd5111a] check-in: [338854a6] user: aku branch: trunk, size: 3915
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. file: [79e054b9] check-in: [84871722] user: aku branch: trunk, size: 3955
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 file: [16136c40] check-in: [3d88cfd0] user: aku branch: trunk, size: 4122
Continued work on pass II, skeleton of it completed by adding outline of code for persistence. file: [0ad0b453] check-in: [6d1811d6] user: aku branch: trunk, size: 2948
Added skeleton and dump methods to make file objects proper sinks for the rcs parser. file: [29f9eb70] check-in: [2e3815c3] user: aku branch: trunk, size: 2807
Fleshed out pass II, added skeleton of rcs archive class, started integration of rcs parser. file: [d278cae8] check-in: [8a93ffa9] user: aku branch: trunk, size: 1841 Added