File History
Not logged in

History of tools/cvs2fossil/lib/c2f_prev.tcl

2008-03-05
03:42:02 [b2c7314519] part of check-in [983090a343] Extended main import method (pushto) to handle all types of changesets, not only revisions. Tag changesets lead to tagging of imported revisions, branch changesets reflect the proper location where branches start, and make it possible to handle tagging of branches without revisions as well. Modified code returning changesets for a projects to return all, not only revision, in sync with the previous. Changed the code determining tag/branch lod's to use table 'preferedparent'. (By: aku on 2008-03-05 03:42:02) [diff] [annotate]
2008-02-26
04:53:56 [2f48609c1c] part of check-in [8dd5afbc80] Updated method 'drop' of changesets, the in-memory parts have migrated to 'destroy' as part of the work on pass InitCSets. (By: aku on 2008-02-26 04:53:56) [diff] [annotate]
2008-02-24
18:01:40 [dfc591f76c] part of check-in [f637d42206] Updated my notes regarding memory usage. Converted more locations to incremental query processing via 'state foreachrow', now throughout the importer. (By: aku on 2008-02-24 18:01:40) [diff] [annotate]
04:43:56 [f8ed1ba0f8] part of check-in [6559f3231e] New command 'state foreachrow' for incremental result processing, using less memory. Converted a number of places in pass InitCSet to this command, and marked a number of othre places for possible future use. (By: aku on 2008-02-24 04:43:56) [diff] [annotate]
02:16:25 [53853a44a2] part of check-in [4b0f43fb2f] Plugged memory leak in changeset destructor. Updated commentary. Reformatting of a few integrity checks for readability. (By: aku on 2008-02-24 02:16:25) [diff] [annotate]
00:14:21 [1e64f84c5d] part of check-in [59b54efab5] Changed the encoding of the values stored in DEPC. Keep only start/end of the range, not the list of all positions in it. That caused the memory-blowup. (By: aku on 2008-02-24 00:14:21) [diff] [annotate]
2008-02-23
20:18:35 [4afc72092a] part of check-in [530168ec30] Split internals of breakinternaldependencies into more manageable pieces in prep for upcoming work on the handling of pseudo-dependencies. (By: aku on 2008-02-23 20:18:35) [diff] [annotate]
06:40:48 [e87b9beadd] part of check-in [efec424a19] Merged bugfix [b3d61d7829] into the main branch for optimization of memory usage. (By: aku on 2008-02-23 06:40:48) [diff] [annotate]
06:37:54 [20a9a93ee2] part of check-in [383c10f004] Merged bugfix [b3d61d7829] into this semi-abandoned branch just in case we will work on it again. Do it now instead of forgetting it later. (By: aku on 2008-02-23 06:37:54) [diff] [annotate]
06:33:30 [85ce34597a] part of check-in [b3d61d7829] Fixed bug made in [f46458d5bd] which prevented the saving of the changesets generated by the breaking of the internal dependencies. (By: aku on 2008-02-23 06:33:30) [diff] [annotate]
2008-02-21
05:13:14 [c3cfc3bb4a] part of check-in [c2ad73ed92] Added high-level logging for memory tracing to the code breaking the preliminary changesets. First runs indicate that the DEPC array becomes so very large, caused by a high amount of indirect dependencies (several hundred). (By: aku on 2008-02-21 05:13:14) [diff] [annotate]
2008-02-20
06:03:48 [604b326cf4] part of check-in [faf57d7462] Modified the changeset class to move handling of the changeset lists to fully after their creation and storage. This is item (3) in cvsfossil.txt. The results do not satisfy however. During the creation of each changeset memory usage is (fractonally) lower, however at the end, after all changesets haven been loaded memory usage is consistently higher. The reason for that is not known. I am saving this for possible future evolution and usage, but will not pursue this further right now. The gains seem to be too small compared to the overall loss. InitializeBreakstate is likely a better target, despite its complexity. (By: aku on 2008-02-20 06:03:48) [diff] [annotate]
2008-02-17
02:06:19 [cc210d2578] part of check-in [f46458d5bd] Reworked the basic structure of pass InitCSets to keep memory consumption down. Now incremental creates, breaks, saves, and releases changesets, instead of piling them on before saving all at the end. Memory tracking confirms that this changes the accumulating mountain into a near-constant usage, with the expected spikes from the breaking. (By: aku on 2008-02-17 02:06:19) [diff] [annotate]
2008-02-16
06:46:41 [433b16c0c0] part of check-in [27ed4f7dc3] Extended pass InitCsets and underlying code with more log output geared towards memory introspection, and added markers for special locations. Extended my notes with general observations from the first test runs over my example CVS repositories. (By: aku on 2008-02-16 06:46:41) [diff] [annotate]
2008-02-13
14:44:50 [d233796d95] part of check-in [be2f99e6a4] Merge with aku's branch. (By: drh on 2008-02-13 14:44:50) [diff] [annotate]
04:57:43 [d233796d95] part of check-in [6d5de5f1c1] Tuned the handling of the vendor branch in case we have multiple different symbols representing it. The import pass now effectively merges these symbols into a single line of development. (By: aku on 2008-02-13 04:57:43) [diff] [annotate]
2008-02-08
21:52:21 [c1187b458c] part of check-in [6b78df3861] Merge in changes from Andreas's branch. (By: drh on 2008-02-08 21:52:21) [diff] [annotate]
04:49:36 [c1187b458c] part of check-in [21d9664fb5] Properly initialize the array containing the changesets split by type. (By: aku on 2008-02-08 04:49:36) [diff] [annotate]
2008-02-06
05:04:12 [90fc37a923] part of check-in [66235f2430] Updated the copyright information of all files touched in the new year. (By: aku on 2008-02-06 05:04:12) [diff] [annotate]
04:55:34 [3b42fd437e] part of check-in [0d13da3018] Get the line of development for changesets directly from the items and their lod references. The in-memory data from the meta table is out-of-date since the adjustment of parents in pass 'FilterSymbols'. Print the LOD information when sorting the changesets. (By: aku on 2008-02-06 04:55:34) [diff] [annotate]
2008-02-05
15:52:35 [a49a0c1211] part of check-in [c9270189c2] Added tracking of file removal in changesets. (By: aku on 2008-02-05 15:52:35) [diff] [annotate]
06:09:27 [f526a431ee] part of check-in [a1bbf19d51] Accept a last trunk-changeset on a vendor branch with the :trunk: already defined, and warn. Force changeset to be vendor-only, out of trunk. (By: aku on 2008-02-05 06:09:27) [diff] [annotate]
2008-02-04
06:05:11 [c36a0d49d0] part of check-in [e1dbf3186d] 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 :/ (By: aku on 2008-02-04 06:05:11) [diff] [annotate]
2008-02-02
07:03:39 [b562462581] part of check-in [9214c11831] Changeset handling, extended logging of how parent is determined. Fossil access, fixed importrev call to use correct workspace/repository. Fixed handling of output, stripping unwanted text, checking of output syntax. Extended logging. Added final 'rebuild'. NOTE: formation of the changesets/manifests is buggy, is not tracking unchanged files across changesets. Further not yet tracking when files have been removed. (By: aku on 2008-02-02 07:03:39) [diff] [annotate]
05:07:20 [fd889684d2] part of check-in [b405f4fc04] Fix use (scoping) of revision items when looking for vendor branch data. (By: aku on 2008-02-02 05:07:20) [diff] [annotate]
2008-02-01
05:25:03 [301208ccef] part of check-in [e8efbc317a] Reworked the code determining the parent of the currently committed changeset. It should now handle the transition from vendor branch to trunk correctly. (By: aku on 2008-02-01 05:25:03) [diff] [annotate]
2008-01-31
06:25:34 [3d8ecf2b79] part of check-in [7c43583de1] Tinkered with the revision information transfered from a changeset to push, to the fossil accessor code, modified the logging as well. (By: aku on 2008-01-31 06:25:34) [diff] [annotate]
05:39:51 [696f01d05d] part of check-in [3cd599cacd] Moved the most complex parts of pushto into their own commands. (By: aku on 2008-01-31 05:39:51) [diff] [annotate]
2008-01-30
08:28:34 [5b323107c1] part of check-in [348e45b0d6] Added basic import of changesets. Note that this code is incomplete with regard to handling the various possible interactions between a vendor-branh and trunk. (By: aku on 2008-01-30 08:28:34) [diff] [annotate]
08:23:36 [079c4b0014] part of check-in [9e1b461b2f] Broke package dependency cycle introduced when moving the cset load code from the InitCsets pass to the cset class. (By: aku on 2008-01-30 08:23:36) [diff] [annotate]
03:23:02 [6bd4e14405] part of check-in [49dd66f64f] Moved the code loading changesets from state to its proper class. (By: aku on 2008-01-30 03:23:02) [diff] [annotate]
2008-01-19
06:07:49 [08cfcb0706] part of check-in [6809145eb1] More comments on sql statements. (By: aku on 2008-01-19 06:07:49) [diff] [annotate]
2007-12-05
02:29:48 [28af7570f1] part of check-in [0ee9711e2e] Went to explicit var-substitution for the dynamic sql queries, makes formatting easier. (By: aku on 2007-12-05 02:29:48) [diff] [annotate]
02:21:00 [9958d4b1a2] part of check-in [3c0ef2c379] Removed lots of now dead code. Added a note to the last remaining user of the changeset method 'nextmap'. (By: aku on 2007-12-05 02:21:00) [diff] [annotate]
2007-12-04
04:54:10 [f2b05566df] part of check-in [711e000206] Reworked ComputeLimits in the last breaker pass. Moved the heavy computation of the max predecessor / min successor data down to the sql in the changeset class. (By: aku on 2007-12-04 04:54:10) [diff] [annotate]
2007-12-02
20:04:40 [bf483d028a] part of check-in [00bf8c198e] 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. (By: aku on 2007-12-02 20:04:40) [diff] [annotate]
06:49:19 [c123dc0a3e] part of check-in [c784751485] Bugfix. Typo. (By: aku on 2007-12-02 06:49:19) [diff] [annotate]
06:17:59 [9c2b1c4480] part of check-in [f7cca3f082] Fix table linkage in query, and duplicated conditions :( (By: aku on 2007-12-02 06:17:59) [diff] [annotate]
05:49:00 [a4cf35790a] part of check-in [9c57055025] Performance bugfix. nextmap/premap can still be performance killers and memory hogs. Moved the computation of sucessor changesets down to the type-dependent code (new methods) and the SQL database, i.e. the C level. In the current setup it was possible that the DB would deliver us millions of file-level dependency pairs which the Tcl level would then reduce to tens of actual changeset dependencies. Tcl did not cope well with that amount of data. Now the reduction happens in the query itself. A concrete example was a branch in the Tcl CVS generating nearly 9 million pairs, which reduced to roughly 200 changeset dependencies. This blew the memory out of the water and the converter ground to a halt, busily swapping. Ok, causes behind us, also added another index on 'csitem(iid)' to speed the search for changesets from the revisions, tags, and branches. (By: aku on 2007-12-02 05:49:00) [diff] [annotate]
04:55:38 [e427524ce6] part of check-in [712010580a] Bugfix. Have the symbol dependency retrieval commands actually return something. (By: aku on 2007-12-02 04:55:38) [diff] [annotate]
03:49:11 [9054f71640] part of check-in [ac02614803] Deactivated caching of the nextmap/premap data, with the indices the retrieval seems to be fast enough to allow us to reduce mem consumption. Tweaked log output, and sql formatting. (By: aku on 2007-12-02 03:49:11) [diff] [annotate]
03:46:33 [0103dd59f0] part of check-in [fbfb531868] Bugfix in ValidateFragments, tweaked comment a bit, bugfix in SQL, reordered tables in the successor/predecessor queries a bit to show the actual progression of their use. (By: aku on 2007-12-02 03:46:33) [diff] [annotate]
2007-11-30
06:57:19 [6a7202a9dc] part of check-in [0af7a3c8ac] 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. (By: aku on 2007-11-30 06:57:19) [diff] [annotate]
06:50:47 [b900e0555e] part of check-in [c14e8f84cd] Moved the integrity checks for split fragments into separate command. Reworked breaking of internal dependencies to contrain the length of the pending list. That part of the system is still a memory hog, especially for large changesets. Added notes about this and the successor retrieval being a bottleneck. (By: aku on 2007-11-30 06:50:47) [diff] [annotate]
04:27:05 [e7ab6ef540] part of check-in [facb4a8721] Fixed bug in new changeset code, tagged and untagged item lists went out of sync. (By: aku on 2007-11-30 04:27:05) [diff] [annotate]
03:57:19 [6ad5e03750] part of check-in [b42cff97e3] Replaced the checks for self-referential changesets in the cycle breaker with a scheme in the changeset class doing checks when splitting a changeset, which is also called by the general changeset integrity code, after each pass. Extended log output at high verbosity levels. Thorough checking of the fragments a changeset is to be split into. (By: aku on 2007-11-30 03:57:19) [diff] [annotate]
2007-11-29
09:16:33 [1c3ee2d518] part of check-in [80b1e8936f] Renamed state table 'csrevision' to 'csitem' to reflect the new internals of changesets. Updated all places where it is used. (By: aku on 2007-11-29 09:16:33) [diff] [annotate]
07:58:14 [f84e4346da] part of check-in [61829b076b] Renamed changeset method to describe modified results, and updated the one invoker (By: aku on 2007-11-29 07:58:14) [diff] [annotate]
07:55:01 [aa2d0f3589] part of check-in [04d76a9e79] Renamed changeset method to describe modified results, and updated the one invoker. Modified the sorting of time ranges. Now by max, min as tiebreaker, and object name as last tiebreaker. (By: aku on 2007-11-29 07:55:01) [diff] [annotate]
07:41:48 [ee1979daea] part of check-in [39e19c0cf3] Simplified some code dealing with the item -> changeset map, using the changed semantics (1:n -> 1:1). (By: aku on 2007-11-29 07:41:48) [diff] [annotate]
07:36:27 [01c2b1ab5b] part of check-in [deab4d035b] Brought the variable names into alignment with the semantics, now again naming what is stored in them. (By: aku on 2007-11-29 07:36:27) [diff] [annotate]
07:24:39 [2ef585bdd8] part of check-in [0fcfbf7828] Reworked the in-memory databases of changesets. Objects now hold items, not only revisions. Tags, and branches are new possibilities. Lists of ids go to the type-dependent retrieval command. List of tagged items (type/id pairs) come back, and are in the API. The 1:n map revisions to changesets is now an 1:1-map tagged items to changeset. (By: aku on 2007-11-29 07:24:39) [diff] [annotate]
07:02:39 [ebc1cdf1d1] part of check-in [b1666f8ff4] Implemented time ranges and dependency retrieval for the tag and branch based changesets. (By: aku on 2007-11-29 07:02:39) [diff] [annotate]
06:58:08 [15d330b01f] part of check-in [70d2283564] Moved the existing successor/predecessor code from main class to the proper singleton. Fixed config of main class, isn't simple dispatch any longer. Simplified calculation of the readable representation of changesets and removed code which has become superfluous. (By: aku on 2007-11-29 06:58:08) [diff] [annotate]
06:10:18 [225212eea4] part of check-in [c74fe3de3f] Integrate the new singletons with the main class, route the relevant places to them. (By: aku on 2007-11-29 06:10:18) [diff] [annotate]
05:58:53 [dd4e59c472] part of check-in [27b15b7095] This commit starts a series of incremental changes not quite completely overhauling the handling of changesets, i.e. of project-level revisions. Actually this series of changes already started with [8ce7ffff21] as the bug it fixes was found when the first parts of the overhaul tripped the new integrity conditions for the modified changesets. Background: In the last few days I repeatedly ran against the wall of an assertion in pass 9, last of the cycle breakers, with the revision changesets coming in out of order when the symbols were added to the dependency graph. While walking to the office, and later re-reading the relevant parts of cvs2svn again I had several insights. Trigger was the realization that giving the tag changesets successor dependencies was wrong. Tags describe a state, they have no successors. This caused the re-read, and I recognized that my handling of the symbol changesets was completely wrong, that with using revisions as their data. It should have been the tags and branches. From there their actual dependencies (versus my reuse of revision dependencies) fell out naturally. I have decided to commit my rewrite of the internals incrementally to make it easier to follow them, despite leaving the sourcebase in an unusable state during the series. One big commit would be much more difficult to understand. The central change is to the changeset class, which becomes a trinity, holding either revisions, tags, or branches, with type-dependent code to retrieve their dependencies. The remainder of the changes are 'just' adaptions of the users to the changed API. First change: Add outline of the helper classes, singletons actually, to hold the type-dependent functionality. (By: aku on 2007-11-29 05:58:53) [diff] [annotate]
2007-11-28
05:39:49 [836578d137] part of check-in [47d52d1efd] 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. (By: aku on 2007-11-28 05:39:49) [diff] [annotate]
2007-11-27
09:03:07 [21310ece52] part of check-in [911d56a8c8] Changesets, extended human readable representation, and tweaking of log output. (By: aku on 2007-11-27 09:03:07) [diff] [annotate]
05:08:54 [c24182717e] part of check-in [678765068d] Bugfixes when generating revision changesets. (1) The dependencies for a revision are a list, not single. (2) Use pseudo-dependencies to separate revisions of the same file from each other if they have no direct dependencies in the state. (By: aku on 2007-11-27 05:08:54) [diff] [annotate]
2007-11-25
07:54:09 [92ffd4d56e] part of check-in [b679ca3356] Code cleanup. Removed trailing whitespace across the board. (By: aku on 2007-11-25 07:54:09) [diff] [annotate]
07:39:53 [e10db58317] part of check-in [96167b2a48] Changesets: Added accessor for to retrieve number of changesets known, and dropped the "trunk root -> NTDB root" dependency, is problematic. (By: aku on 2007-11-25 07:39:53) [diff] [annotate]
02:53:48 [41cc33d817] part of check-in [0868adf92a] Tweaked human readable representation of changesets to include their type. (By: aku on 2007-11-25 02:53:48) [diff] [annotate]
2007-11-24
05:31:30 [82795e9f92] part of check-in [87cf609021] Created convenience methods to create the human readable repesentation of a changeset and lists of such, and made liberal use of them. (By: aku on 2007-11-24 05:31:30) [diff] [annotate]
04:40:11 [d8c9727907] part of check-in [184c56327e] Bugfix in changeset class. Documented and fixed the SQL statements pulling the successor and predecessor information out of the state. It mishandled the Trunk <-> NTDB transitions. (By: aku on 2007-11-24 04:40:11) [diff] [annotate]
04:34:26 [137095386a] part of check-in [17ec2d682c] Bugfix in changeset class. Forgot to update the map from revisions to containing changesets when breaking the internal dependencies of the initial changesets. This affected only the first fragment as all the revisions put into separate fragments where still pointing to the original changeset. This lead to bogus links at the level of changesets, the changeset was seemingly still referencing itself. (By: aku on 2007-11-24 04:34:26) [diff] [annotate]
04:29:30 [d3b49cf4d5] part of check-in [8c9030e3e8] Bugfix in the changeset class. The index from revisions to containing changesets is not 1:1, but 1:n. While only one revision changeset is possible there can also be zero or more symbol changesets. (By: aku on 2007-11-24 04:29:30) [diff] [annotate]
04:15:46 [3c9d1e003d] part of check-in [eabaea870a] Added a number of assertions and must-not-happens with associated log output. Plus some small tweaks, and notes. (By: aku on 2007-11-24 04:15:46) [diff] [annotate]
2007-11-22
04:56:39 [6a8631591f] part of check-in [47e271a448] Fixed bug in the initialization of mybranchcode for changesets. (By: aku on 2007-11-22 04:56:39) [diff] [annotate]
04:21:37 [e0ef55994e] part of check-in [e50f9ed55e] Continued work on pass 8. Completed the handling of backward branches, file level analysis and splitting them. Extended changesets with the necessary methods to the predecessor data and proper per-revision maps. (By: aku on 2007-11-22 04:21:37) [diff] [annotate]
03:33:32 [75f13681e5] part of check-in [4866889e88] Continued work on pass 8, added outline for handling of retrograde branches, extended changesets with predicate allowing us to find the branch changesets. (By: aku on 2007-11-22 03:33:32) [diff] [annotate]
03:21:43 [1769e1daa2] part of check-in [de4cff4142] Extended changeset class with in-memory database mapping from changeset ids to the proper object, and extended the objects with position information and associated accessors. Extended pass 8 to load the commit order computed in pass 6, this is stored in the new position slot of changesets, and an inverted index mapping from position to changeset at that position. (By: aku on 2007-11-22 03:21:43) [diff] [annotate]
03:11:34 [04c278bb16] part of check-in [65be27aa69] Modified the API for the construction of changesets a bit, now allowing their construction with the correct id, instead of correcting it later. Updated pass 5 to use this, and fixed bug where the id counter for changesets was left uninitialized, allowing the improper generation of duplicate ids. (By: aku on 2007-11-22 03:11:34) [diff] [annotate]
02:58:09 [da85eb5f98] part of check-in [59207428e2] Moved the functionality for splitting a changeset based on the sets of revisions for the fragments to be into a separate command, and into the changeset class, for use outside of changeset links. (By: aku on 2007-11-22 02:58:09) [diff] [annotate]
2007-11-17
00:29:42 [458c8956e4] part of check-in [38b967dcf5] Merge aku's CVS import changes into the main line. Fix a small bug in diff.c. (By: drh on 2007-11-17 00:29:42) [annotate]
2007-11-16
08:32:40 [458c8956e4] part of check-in [96b7bfb834] Added convenience command to the state package when the sql returns a single row. Added more statistics about revisions, tags, branches, symbols, changesets to various passes. (By: aku on 2007-11-16 08:32:40) [diff] [annotate]
04:17:30 [bd4777ddd8] part of check-in [770a9b576a] 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. (By: aku on 2007-11-16 04:17:30) [diff] [annotate]
2007-11-14
05:11:56 [b05edeebe6] part of check-in [94c39d6375] 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. (By: aku on 2007-11-14 05:11:56) [diff] [annotate]
2007-11-13
07:22:35 [27b0babb50] part of check-in [85bd219d0b] 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. (By: aku on 2007-11-13 07:22:35) [diff] [annotate]
05:09:07 [971e3d4db2] part of check-in [24c0b662de] 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. (By: aku on 2007-11-13 05:09:07) [diff] [annotate]
2007-11-10
23:44:29 [987e3e6cdd] part of check-in [08ebab80cd] 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. (By: aku on 2007-11-10 23:44:29) [diff] [annotate]
20:40:06 [d69fb88848] part of check-in [95af789e1f] 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. (By: aku on 2007-11-10 20:40:06) [diff] [annotate]
07:46:20 [855ccb9239] part of check-in [5f7acef887] Completed pass 5, computing the initial set of changesets. Defined persistent structure and filled out the long-existing placeholder class (project::rev). (By: aku on 2007-11-10 07:46:20) [diff] [annotate]
2007-10-10
03:28:22 [72f0105a20] part of check-in [84de38d73f] Added a lot of skeleton files for the revision and symbol data structures, for both project and file level. (By: aku on 2007-10-10 03:28:22) [annotate]