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

200 check-ins occurring around 3a530ef9473884c0.

Changes to the diff algorithm to put bounds on run-time for very large files with many differences. (This came up on the previous check-in when you try to diff the two versions of sqlite3.c.) (check-in: 4c22ae52 user: drh tags: trunk)
Update SQLite to the latest build from CVS. Add in the FTS3 extension, though it is not yet being used. Additional work toward tickets. (check-in: f394d845 user: drh tags: trunk)
Code cleanup. Removed trailing whitespace across the board. (check-in: b679ca33 user: aku tags: trunk)
Another helper, textual, write changeset data to stdout. (check-in: 1ea319fb user: aku tags: trunk)
Tweaked log output of the topological sorter (revisions) to be tabular (aligned columns), added information (time ranges). (check-in: bcc630d3 user: aku tags: trunk)
Changesets: Added accessor for to retrieve number of changesets known, and dropped the "trunk root -> NTDB root" dependency, is problematic. (check-in: 96167b2a user: aku tags: trunk)
Fixed log output for pass 10, and added missing command. (check-in: 63052cb6 user: aku tags: trunk)
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. (check-in: 97b4405e user: aku tags: trunk)
State log output, moved to slightly higher verbosity level to allow them to be suppressed. (check-in: 00e041dd user: aku tags: trunk)
Dot export extended, allow graph to define label color for highlighting. (check-in: eb43120a user: aku tags: trunk)
Filerevtree helper. Added missing requirements, and dialed the verbosity down. (check-in: 124fef5b user: aku tags: trunk)
Moved more parts taken over by the top. sort passes out the breaker passes, and renumbered them. (check-in: d743f04b user: aku tags: trunk)
Moved the parts taken over by the top. sort passes out the breaker passes, and renumbered them (comments). (check-in: b6b7ff79 user: aku tags: trunk)
Investigation of changeset order differences between running passes 1 to 6 and pass 6 alone show why the topological sort passes are separate in cvs2svn. The breaking of cycles can change the order of things due to different timeranges and dependencies of the broken changesets. Created two new passes for the sorting. The break passes 7 and 8 are now passes 8 and 9, and the new sort passes are 7 and 10. (check-in: 66c85b4d user: aku tags: trunk)
Tweaked log output of filtering pass a bit. (check-in: b41127b9 user: aku tags: trunk)
Tweaked human readable representation of changesets to include their type. (check-in: 0868adf9 user: aku tags: trunk)
Bugfix in pass manager, handling of open-ended pass specifications. (check-in: 9668b164 user: aku tags: trunk)
Tweaks of the log output, and reworked internals to expose not only breaking of cycles, but of paths as well. (check-in: 54e9b0a1 user: aku tags: trunk)
More work on ticketing. This is a non-working incremental check-in. (check-in: a5e4e1ba user: drh tags: trunk)
Progress toward ticket editing. This is an incremental check-in. (check-in: d913179b user: drh tags: trunk)
Progress toward getting ticketing working. We can enter a new ticket and display it. Cannot yet edit a ticket. (check-in: fb358ca4 user: drh tags: trunk)
Documentation updates. (check-in: 6680679c user: drh tags: trunk)
Created convenience methods to create the human readable repesentation of a changeset and lists of such, and made liberal use of them. (check-in: 87cf6090 user: aku tags: trunk)
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. (check-in: 184c5632 user: aku tags: trunk)
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. (check-in: 17ec2d68 user: aku tags: trunk)
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. (check-in: 8c9030e3 user: aku tags: trunk)
Tweaked log output a bit. Bugfixes: Forgot to propagate the border information into SplitRevisions, and a varname typo. (check-in: 6d636343 user: aku tags: trunk)
Added a number of assertions and must-not-happens with associated log output. Plus some small tweaks, and notes. (check-in: eabaea87 user: aku tags: trunk)
Added missing node attributes in the Replace command. (check-in: a99d5798 user: aku tags: trunk)
Updated passes 6 and 8 for to the changtes in the cycle breaker API (changed signature of save callback). (check-in: 7ed2f29d user: aku tags: trunk)
The autosync setting understands values like "on", "off", "true", and "false" in addition to 0 and 1. Updates to the documentation. (check-in: f9f7cf56 user: drh tags: trunk)
Fix a bug in the default header. (check-in: 13732d49 user: drh tags: trunk)
New default header and footer and CSS. Add the ability to edit the footer. (check-in: 34af7280 user: drh tags: trunk)
Fix a redundancy in the text output of the usage comment on the tag command. (check-in: b346a7cf user: drh tags: trunk)
Remove obsolete file containing sample ticket configuration script. (check-in: 6311ce2e user: drh tags: trunk)
Modified cycle breaker API. Hook for processed nodes now takes the graph as new first argument. Extended API, exposed method for dumping the current state of the graph, including ability to dump a sub graph. (check-in: 5f5620fb user: aku tags: trunk)
Extended the dot graph exporter to allow the export of a subgraph specified through a set of nodes. Default is the export of the whole graph, as before. (check-in: 86f33190 user: aku tags: trunk)
Added two more debugging helper applications. One to extract and show a file revision tree, the other to display a dot file generated by the importer during cycle breaking passes. (check-in: 64d0019e user: aku tags: trunk)
Add the %w and %W formatting options for internal printf usage. Use these formatting characters to render wiki. Fix additional problems of unterminated wiki on webpage rendering by using %w. (There are probably more problems yet to be discovered and fixed.) (check-in: 28592937 user: drh tags: trunk)
Make sure HTML tags in wiki are terminated in the diff screen too. (check-in: d6ad7aa0 user: drh tags: trunk)
Fix the rendering of comments with unclosed block HTML markup in the vinfo page. (check-in: 3afcc438 user: drh tags: trunk)
Added two helper applications which peek into a conversion state and generate graphs from it. Both helpers look at the tree of symbols and show it in toto (symbol tree), or restrict themselves to the branches, aka lines of development (lodtree). (check-in: b8c35421 user: aku tags: trunk)
Reworked the dot export internals a bit to be more general regarding labeling and attribute writing. Updated the cycle breaker to define proper labels. (check-in: f2848471 user: aku tags: trunk)
Tweaked the log output for the statistics a bit. (check-in: 2630e506 user: aku tags: trunk)
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. (check-in: 930ec162 user: aku tags: trunk)
Fixed bug in the initialization of mybranchcode for changesets. (check-in: 47e271a4 user: aku tags: trunk)
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. (check-in: e50f9ed5 user: aku tags: trunk)
Continued work on pass 8. Renamed 'retrograde' to 'Backward Branch', should be easier to understand, and completed the predicate testing if a branch changeset is backward or not. (check-in: 4f1b60dd user: aku tags: trunk)
Continued work on pass 8, added outline for handling of retrograde branches, extended changesets with predicate allowing us to find the branch changesets. (check-in: 4866889e user: aku tags: trunk)
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. (check-in: de4cff41 user: aku tags: trunk)
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. (check-in: 65be27aa user: aku tags: trunk)
Reworked the cycle breaker internals, moving the code handling the replacement of a changset (= node) with its fragments into a separate command. Extended the API, exposing the replacement operation, for use by passes. Added debugging code showing the set of consumable nodes for each iteration. (check-in: ad7d5c2d user: aku tags: trunk)
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. (check-in: 59207428 user: aku tags: trunk)
Fix some compiler warnings. Comment changes on non-functioning code in tkt.c. (check-in: 2a707334 user: drh tags: trunk)
Fix a bug in the unified diff generator. (check-in: 4db464a7 user: drh tags: trunk)
Append the pathname to the login cookie name so that separate cookies are used for each server. (check-in: d2b44699 user: drh tags: trunk)
Attach login cookies to the root path of the server, so that multiple servers can coexist on the same site. (check-in: 68a202e1 user: drh tags: trunk)
Fixed typo in cycle breaker logging. Extended pass 8, wrote the outline with all the relevant custom callbacks. (check-in: 1f600181 user: aku tags: trunk)
Cycle breaker, API change. The changesets are now communicated via a retrieval callback instead of directly. Updated passes 6 and 7. This allowed us to move the start/done graph exports into the cyclebreaker as well. Changeset selection in pass 8 now in separate command too for this. (check-in: 2a0ec504 user: aku tags: trunk)
Cycle breaker, API extension. Added a hook to process the graph between setup and regular consummation. This will be used by pass 8. (check-in: 1e177a4c user: aku tags: trunk)
Cycle breaker, API change. Routing the core cycle breaking through a callback so that users can choose their own algorithms. Updated passes 6 and 7. Moven changesets selection in pass 7 to separate command. (check-in: 2cf0462b user: aku tags: trunk)
API change cycle breaker. The save callback command is now specified through a separate configuration command. Moved callback invokation to helper command. Updated pass 6. Moved changeset selection to helper command. (check-in: d58423cd user: aku tags: trunk)
Try again to get the Login/Logout menu name correct. (check-in: f0a9e3b5 user: drh tags: trunk)
Get the name of the Login/Logout menu option right. (check-in: bd667b19 user: drh tags: trunk)
Render the header of every page using subscript. Add a setup page that for editing that subscript. (check-in: 555911df user: drh tags: trunk)
Add the SbS_Render() interface for rendering HTML with embedded subscript. (check-in: e29abeff user: drh tags: trunk)
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. (check-in: 7f15be90 user: aku tags: trunk)
Add a more advanced commit-hook mechanism that allows us to specify multiple procedures in a particular order prior to commit. Continuing work toward getting tickets going. (check-in: d5e7891b user: drh tags: trunk)
Continuing work on the infrastructure for tickets. (check-in: 8c96ed62 user: drh tags: trunk)
Added an option "--batch" with which the user can disable the feedback display standard to interactive use. (check-in: 4e7dd05f user: aku tags: trunk)
Merge aku's CVS import changes into the main line. Fix a small bug in diff.c. (check-in: 38b967dc user: drh tags: trunk)
Rework the merge algorithm. It now only works for text files. But, it no longer gets confused by line endings (\r\n versus \n) and it reports conflicts. (check-in: 36b96b86 user: drh tags: trunk)
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. (check-in: 96b7bfb8 user: aku tags: trunk)
Moved out-of-place state declarations to the proper phase (setup, not run). (check-in: ce7fb48e user: aku tags: trunk)
Added skeleton of pass 8, the final pass for the breaking of dependency cycles. This pass will handle the remaining cycles crossing revision and symbol changesets. (check-in: e7c805f1 user: aku tags: trunk)
Bugfix. Destroy graph object after use. (check-in: 7b392868 user: aku tags: trunk)
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: 770a9b57 user: aku tags: trunk)
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: de64c94f user: aku tags: trunk)
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: 2516f4a5 user: aku tags: trunk)
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: 341d96be user: aku tags: trunk)
Bug fixes in the Myers diff algorithm. (check-in: f1b55da0 user: drh tags: trunk)
Enhanced text diff subroutine uses Myers enhancements to Wagners minimum edit distance algorithm. White space at the end of lines is ignored. (check-in: 57b2735e user: drh tags: trunk)
Added skeleton files for pass 7, the breaking of dependency cycles over symbol-based changesets. (check-in: 258366a3 user: aku tags: trunk)
Added note regarding 'RevisionTopologicalSortPass', which is not a separate pass for us, but part of pass 6, breaking cycles over revision changesets. (check-in: f631d438 user: aku tags: trunk)
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: 94c39d63 user: aku tags: trunk)
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: 67600f77 user: aku tags: trunk)
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: 85bd219d user: aku tags: trunk)
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: 24c0b662 user: aku tags: trunk)
Started on pass 6, breaking cycles between revision based changesets. Added skeleton files. (check-in: 2a01d504 user: aku tags: trunk)
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: 08ebab80 user: aku tags: trunk)
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: 95af789e user: aku tags: trunk)
Completed pass 5, computing the initial set of changesets. Defined persistent structure and filled out the long-existing placeholder class (project::rev). (check-in: 5f7acef8 user: aku tags: trunk)
Started on pass 5, computing the initial approximate set of project level revisions, aka 'ChangeSets'. Skeleton of the pass added. (check-in: 54d1e353 user: aku tags: trunk)
Added note about why we omit cvs2svn's sorting passes. (check-in: 959192d4 user: aku tags: trunk)
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: 131f0518 user: aku tags: trunk)
Add the --detail flag to the merge command. (check-in: 50ff86af user: drh tags: trunk)
Improvements to the merge algorithm so that it works better for common changes. Still more work needed. (check-in: ac6bb3ce user: drh tags: trunk)
Opcode synchronization reworked, optype table is master from which the in-memory array is loaded. (check-in: e45f47ec user: aku tags: trunk)
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: 37734390 user: aku tags: trunk)
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: 7ab490df user: aku tags: trunk)
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: 3a530ef9 user: aku tags: trunk)
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: ffafc0bd user: aku tags: trunk)
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: 69bf6ab9 user: aku tags: trunk)
Started on pass 4, 'FilterSymbols'. Skeleton. (check-in: 11e5d7ce user: aku tags: trunk)
Extended comment. (check-in: d314894b user: aku tags: trunk)
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: 4c8a5a44 user: aku tags: trunk)
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: efc78b7a user: aku tags: trunk)
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: 7eaa420a user: aku tags: trunk)
Added the "e" capability for viewing ticket submitter email addresses. Additional tinkering toward the design of tickets. This check-in is only thinly tested. (check-in: 929d28e3 user: drh tags: trunk)
Add support for built-in variables in subscript. (check-in: a67fbd78 user: drh tags: trunk)
Add basic math operators to subscript. (check-in: 92f6081d user: drh tags: trunk)
Subscript interpreter is now running. (check-in: 8ef26c5e user: drh tags: trunk)
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: f888f06f user: aku tags: trunk)
Skeleton for pass 3 added, collating the symbols. (check-in: 6d4eb247 user: aku tags: trunk)
Added code for the loading of pass II data (currently only the smybols) from the state when pass II is skipped. (check-in: c3d51040 user: aku tags: trunk)
Fixed typos. (check-in: 77904c1f user: aku tags: trunk)
Milestone I reached (To save the fundamental repository structure into a sqlite database). (check-in: cb4d44d6 user: aku tags: trunk)
Added code creating aggregate symbol statistics. This completes pass 2 (CollRev). (check-in: 6f8667b0 user: aku tags: trunk)
Added a "wiki" link to the main menu. Added built-in description of wiki formatting rules. Added a wiki "homepage" that displays when the "wiki" URI is used without a pagename. Added support for a wiki sandbox that does not save to the repository. (check-in: f08adf3d user: drh tags: trunk)
The "wiki" URI without a page name argument now gives you a list of existing wiki pages. This works fine as long as there are a reasonable number (no more than a few hundred) wiki pages. We need to think of something better for large wikis. We also need to think of ways to give users better guidance for creating new wiki pages. (check-in: f40230a7 user: drh tags: trunk)
Fixes to the rendering of <verbatim> and <nowiki> (check-in: e75f9a2a user: drh tags: trunk)
Add the ability to edit the CSS for all pages in the Setup menu. Other miscellaneous changes toward getting ticketing to work. (check-in: 8ffd32c2 user: drh tags: trunk)
Fix the hyperlink to wiki so that it uses a query parameter for the wiki page name. (check-in: 421a1e1f user: drh tags: trunk)
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: 831e8f36 user: aku tags: trunk)
Prevent duplicate logins on the "user add" command. Also, allow the login to be specified on the command line. (check-in: 783df88b user: drh tags: trunk)
Added another consistency check, and revised the comments to use the more exact terms for the various relationships. (check-in: 70d4a811 user: aku tags: trunk)
Fixed one of the cross-reference checks. (check-in: 2e7cbb28 user: aku tags: trunk)
Added lots of checks looking for inconsistent references between the various objects, mainly revisions. (check-in: 2434ad3b user: aku tags: trunk)
Added saving of the fundamental symbol information (project level). (check-in: 1deb3786 user: aku tags: trunk)
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: 89e9b357 user: aku tags: trunk)
Formatting change, code alignment. (check-in: 7375ebb9 user: aku tags: trunk)
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: 2c08006d user: aku tags: trunk)
Extended pass manager to keep timing data for the executed passes and show them after completion of all passes. (check-in: 05f9c955 user: aku tags: trunk)
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: adf168e2 user: aku tags: trunk)
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: fa643aa9 user: aku tags: trunk)
No changes from the previous check-in. This just confirms that the previous check-in has now been tested and appears to work correctly. (check-in: f4c30de7 user: drh tags: trunk)
Untested, experimental patch for correct redirect to the /index page when only the CGI script name is specified. (check-in: f66089ec user: drh tags: trunk)
Get rid of the (silly?) int_least16_t type in sha1.c and just use good old "int" instead. Makes things easier to compile on older systems. (check-in: 8fb641e0 user: drh tags: trunk)
Add a #include of <sys/types.h> to sha1.c. I am told this help it to compile on BSD systems. (check-in: 17486c35 user: drh tags: trunk)
Restructured the code handling NTBD in ExcludeBranch a bit to prevent the asserts in GraftNTDB2Trunk to bail out. (check-in: e94b52b6 user: aku tags: trunk)
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: 9f3fd3ec user: aku tags: trunk)
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: 1527954d user: aku tags: trunk)
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: a766b081 user: aku tags: trunk)
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: 3a00ac5a user: aku tags: trunk)
Fix a bug in wiki rendering that caused an extra paragraph end tag following a hyperlink. (check-in: 8f423ad4 user: drh tags: trunk)
Simplified the code for excluding non-trunk revisions a bit, using higher-level methods for some changes. Added missing revision destruction. (check-in: 436f17a5 user: aku tags: trunk)
Added code able to exclude all non-trunk revisions upon user request. (check-in: 886b6f25 user: aku tags: trunk)
Created a separate common class for the id databases used by the repository, and updated the repository code to use it. (check-in: 99e165d5 user: aku tags: trunk)
Continued the work on pass II, wrangling a file into shape. Completed handling of unnecessary initial deletions on branches. (check-in: 510cd023 user: aku tags: trunk)
Extended the RCS parser to handle extended (aka new) phrases coming after the regular data of a revision, in the revision tree. (check-in: 294156a3 user: aku tags: trunk)
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: cfe4b269 user: aku tags: trunk)
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: 09af24fc user: aku tags: trunk)
Switched procs to methods, got rid of unwieldy and error-prone explicit import of instance variables. (check-in: b5b2d615 user: aku tags: trunk)
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: 177a0cc5 user: aku tags: trunk)
More handling for option --trunk-only. (check-in: a3cd0c30 user: aku tags: trunk)
Added new option --trunk-only, state and processing. (check-in: 3bde1a2e user: aku tags: trunk)
New helper command to delete item from list by name instead of position. (check-in: 4e49cbf0 user: aku tags: trunk)
Fix the "add" command is that it does not allow users to accidently add files that contain shell wildcard characters. (check-in: da9d38e2 user: drh tags: trunk)
Continued work on pass II, starting to post-process tags, branches, and revisions, cleaning up cvs quirks, determining higher-level aggregates ... (check-in: e5441b90 user: aku tags: trunk)
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: 67c24820 user: aku tags: trunk)
Add a sample ticket configuration script. This is just working notes. It will eventually be removed. (check-in: d29dd11f user: drh tags: trunk)
Work toward a new mechanism for configuring the ticket subsystem and rendering ticket entry, editing, and viewing screens. Nothing works, but it is all commented out so the code code compile. (check-in: 39aa870f user: drh tags: trunk)
Completed loading of pass I from persistent state when skipped. (check-in: 54ac684d user: aku tags: trunk)
For the record an alternative design for the main method of the pass manager where the four principal loops (skip, setup, run, and defer) are merged into two (skip/setup) and (run/defer). Not really less code, also more complex to understand and maintain. The fact that 'setup' and 'run' is performed for the same passes is more difficult to see. This code will not be used. (Closed-Leaf check-in: 4df56a9e user: aku tags: trunk)
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: ae19c0fc user: aku tags: trunk)
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: 27470a93 user: aku tags: trunk)
The basic work of setting up and linking revisions, tags, and branches is complete. (check-in: cb70cf4a user: aku tags: trunk)
Much improved wiki rendering. Automatic paragraph tags now match correctly. All tags should balance. (check-in: c963a776 user: drh tags: trunk)
Fix some (certainly not all) problems with wiki editing. (check-in: df646a7f user: drh tags: trunk)
The g.zExtra parameter is now always available as P("name"). This means the /wiki/xyz and /wiki?name=xyz are equivalent URLs. (check-in: 677aa71b user: drh tags: trunk)
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: 40eaf58e user: aku tags: trunk)
Continued to flesh out revision and symbol processing. Started on the project level classses. (check-in: da9295c6 user: aku tags: trunk)
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: be891232 user: aku tags: trunk)
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: bd131add user: aku tags: trunk)
Add the g.zExtra output to the test_env page. Fix a bug in the computation of g.zTop. (check-in: 1ce716b2 user: drh tags: trunk)
Add the g.zBaseURL and g.zTop printouts to the test_env test page. (check-in: 218577e3 user: drh tags: trunk)
Fix a C++-ism. (check-in: a8408931 user: drh tags: trunk)
Remove unused hard-coded tags from the schema. Output a row count as a status indicator when doing a rebuild. (check-in: e38fc922 user: drh tags: trunk)
Get rid of the "locking" capability on wiki pages. Assume that anybody who can write or append to a wiki page can do so to any wiki page. Add the /wikiappend page for appending comments to the end of wiki. (check-in: 61ce5e36 user: drh tags: trunk)
Many changes and bug fixes in the wiki processing. Moving toward a workable wiki system. The "Home" menu option now takes you to the wiki page whose name is the same as the Project Name. There is a "wcontent" page, but no link to it yet. Many other changes. (check-in: 50a58adb user: drh tags: trunk)
Fix the wiki editor so that it can handle wiki page names that include spaces. (check-in: 9f89a8e6 user: drh tags: trunk)
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: a10f654a user: aku tags: trunk)
API tweak rcs parser, definition of symbols, call through the callback once per symbol instead of once for the whole set. (check-in: 338854a6 user: aku tags: trunk)
Added diff-command and gdiff-command to the valid settings (check-in: 29bc8da1 user: jnc tags: trunk)
Added a lot of skeleton files for the revision and symbol data structures, for both project and file level. (check-in: 84de38d7 user: aku tags: trunk)
Removed unnecessary items from WWW Configuration, also made RSS Title and Description into generic Project Name and Project Description settings, which will be used elsewhere in the web site. (check-in: f3807dbd user: jnc tags: trunk)
Refinements to the timeline for giving better information about wiki pages. (check-in: dfea940d user: drh tags: trunk)
Fixed omitsign discrepancies. Windows version now looks for USERNAME instead of USER when creating new database. (check-in: a21806dc user: jnc tags: trunk)
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: 70b0aa89 user: aku tags: trunk)
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: 84871722 user: aku tags: trunk)
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: 3d88cfd0 user: aku tags: trunk)
Continued work on pass II, skeleton of it completed by adding outline of code for persistence. (check-in: 6d1811d6 user: aku tags: trunk)
Added skeleton and dump methods to make file objects proper sinks for the rcs parser. (check-in: 2e3815c3 user: aku tags: trunk)
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: e7bb3d07 user: aku tags: trunk)
Nicer parser integration into pass II, and sort files for easier filesystem traversal during parsing. (check-in: ec053168 user: aku tags: trunk)
Fleshed out pass II, added skeleton of rcs archive class, started integration of rcs parser. (check-in: 8a93ffa9 user: aku tags: trunk)
Bringing back in the old parser for rcs archives. (check-in: 860f533e user: aku tags: trunk)
Enforce well-formedness constraints on wiki pagenames. (check-in: 488afb97 user: drh tags: trunk)
Do not attempt to access the global_config table if the ~/.fossil database has not been opened. (check-in: 3cdb768f user: drh tags: trunk)
Timeline comments are now rendered as wiki. Wiki changes appear on the timeline. (check-in: 6d586137 user: drh tags: trunk)