Fossil

Timeline
Login

Timeline

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

200 check-ins occurring around 2ab3a2f6034c1064.

2008-02-19
21:58
tclfossil: added schema command (Closed-Leaf check-in: 8c4b5300 user: mjanssen tags: tclfossil-1)
18:05
tclfossil: initial directory structure and package split up (check-in: 2b9c6df4 user: mjanssen tags: tclfossil-1)
2008-02-17
02:06
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. (check-in: f46458d5 user: aku tags: trunk)
00:31
tclfossil: initial version of clone that can get first igots (check-in: 60b40f29 user: mjanssen tags: tclfossil-1)
2008-02-16
18:49
Fixed memleaks of date-related header strings. (check-in: 88948d58 user: stephan tags: trunk)
06:46
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. (check-in: 27ed4f7d user: aku tags: trunk)
06:45
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. (check-in: 7b71f647 user: aku tags: trunk)
06:43
Created a memory tracking subsystem to investigate memory consumption of the system in general, and pass InitCsets in particular. getmemory series is a postprocessor pulling the data out of the log and into a tables gnuplot is able to handle. (check-in: 8287044e user: aku tags: trunk)
2008-02-14
04:27
Bugfix. Allow for removal of a path from a workspace which was not added to the workspace yet. Issue a warning when encontering this. (check-in: a25bafb7 user: aku tags: trunk)
04:26
Tune log output tracking the creation workspace objects, make them less stilted. (check-in: 300f3126 user: aku tags: trunk)
02:49
Continuing work on tickets (still not working right.) Improvements to the web pages. (check-in: 3122fc4c user: drh tags: trunk)
2008-02-13
22:31
Cut over all code to use TH1 instead of subscript. Completely remove the subscript interpreter from the source tree. (check-in: fde1d823 user: drh tags: trunk)
21:33
Corrected tagxref.srcid/rid confusion in the queries. Links now go where i want them to. (check-in: 0ff4e918 user: stephan tags: trunk)
19:50
The entire header, including the menu bar, is now generated by TH script. This allows the menu bar to be customized by editing the header script. (check-in: ffe92f1a user: drh tags: trunk)
18:18
TH1 script now used to render the header and footer of each page. (check-in: 3ad9a5e2 user: drh tags: trunk)
16:21
Create the interface between TH1 and the rest of fossil. Subscript is still being used, though. This is a preparatory step toward cutting over to TH1. (check-in: 13e16c82 user: drh tags: trunk)
15:04
Add the TH1 code to the source tree and makefile. But do not yet make any calls to TH1. (check-in: 4ee9e31a user: drh tags: trunk)
14:44
Merge with aku's branch. (check-in: be2f99e6 user: drh tags: trunk)
12:39
Update homepage with links to competing projects. (check-in: 852dbbb6 user: drh tags: trunk)
04:57
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. (check-in: 6d5de5f1 user: aku tags: trunk)
2008-02-12
06:23
Extended my notes. (check-in: de03c8b1 user: aku tags: trunk)
05:39
Time information extended to include a total summed over all passes. Output extended to include formatted time data (hours, minutes, seconds). (check-in: 7817ff22 user: aku tags: trunk)
04:25
Report destination file for repository, and fix bug with the naming of the destination triggered when importing a repository in toto. (check-in: 0d02fe6c user: aku tags: trunk)
04:24
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). (check-in: c1dc8701 user: aku tags: trunk)
00:31
fixed a string memleak in baseline_zip_page() (check-in: 1ce0ac53 user: stephan tags: trunk)
2008-02-09
09:21
Fix grammar (check-in: c1d9e0f4 user: bch tags: trunk)
00:11
Issue a warning after a commit if the commit causes a fork. (check-in: 49b59bc5 user: drh tags: trunk)
2008-02-08
22:36
Truncate the name of the toplevel directory added to ZIP archives to be the first 10 characters of the UUID. (check-in: 73a9b3d5 user: drh tags: trunk)
22:31
Change zip archiver to make use of blob.c mechanisms for adding prefixes to file names. Remove C constructs that are not commonly supported. (check-in: 4bbb00a8 user: drh tags: trunk)
22:02
minor buffer length fix for the previous change (check-in: 091499ec user: stephan tags: trunk)
21:52
Merge in changes from Andreas's branch. (check-in: 6b78df38 user: drh tags: trunk)
21:51
Merge in changes from Stephan's branch. (check-in: 8672e243 user: drh tags: trunk)
21:50
Fix the branch subcommand so that the branch name tags it creates begin with "sym-". (check-in: ce08928a user: drh tags: trunk)
21:42
Rename the 'clearsign' setting to 'pgp-command'. Remove the 'safemerge' setting - safemerge is on by default and cannot be disabled. (check-in: 5cc845cf user: drh tags: trunk)
21:33
zip.c: Refactored zip_of_baseline() to accept an (optional) "synthetic" directory name. All zipped files are added to that subdir. The default name is currently the UUID of the zipped baseline. (check-in: 974fd923 user: stephan tags: trunk)
21:23
Improvements to annotated diffs - now takes into account contributions from other branches. (check-in: 840699ec user: drh tags: trunk)
19:57
refactored to add a shared submenu. (check-in: da106eb0 user: stephan tags: trunk)
19:54
added a link (for admin users only) to the admin page (check-in: c4d6b89e user: stephan tags: trunk)
17:27
Merge two branches that were created within one second of one another. There is a race condition in the anti-forking logic that allowed this fork to occur. (check-in: 373e42de user: drh tags: trunk)
17:22
Avoid showing a short block of unchanged code at the end of a unified diff. (check-in: ba433cc4 user: drh tags: trunk)
16:27
correction to the 'warning' text in admin_sql_page() (check-in: 138177c3 user: stephan tags: trunk)
16:24
minor efficiency hack in tagview_page_list_tags() (check-in: 6d67f3c7 user: stephan tags: trunk)
16:24
Fail with an error if a file is outside the checkout tree. (check-in: b3ec774a user: drh tags: trunk)
04:49
Properly initialize the array containing the changesets split by type. (check-in: 21d9664f user: aku tags: trunk)
2008-02-07
18:01
fixed a 2-string memleak in tagview_page_list_tags() (check-in: 2ae78900 user: stephan tags: trunk)
15:08
Rename admin_sql_page.c to admin.c. Refactor the strxform functions into SQL functions. Refactor the db_generic_query_view() routine. Fix multiple security vulnerabilities. Bring the code closer into compliance with style guidelines. (check-in: 007d1ce4 user: drh tags: trunk)
13:33
Remove tokenize_path.c. Is not used for anything and does not follow the coding style of the rest of fossil. The 16-line hyperlinked_path() function in browse.c seems to accomplish the same thing. (check-in: 76e637a9 user: drh tags: trunk)
10:33
typo fix (check-in: 66b13f10 user: bch tags: trunk)
05:31
added missing #include (check-in: 58ee4e6e user: stephan tags: trunk)
2008-02-06
19:37
refactored db_generic_query_view() to use sqlite3 API directly so that it can treat SQL errors as non-fatal. (check-in: 0dc3e7a0 user: stephan tags: trunk)
19:02
added tokenize_path.c, containing a convenient path-like-string tokenizer and render_linked_path() to HTML-ize a path. (check-in: 7f9226a8 user: stephan tags: trunk)
05:06
Remembered a problem I have to deal with, added to my notes. (check-in: d2b1d3be user: aku tags: trunk)
05:04
Updated the copyright information of all files touched in the new year. (check-in: 66235f24 user: aku tags: trunk)
04:58
Updated my notes tracking the known problems. (check-in: 9f297fed user: aku tags: trunk)
04:57
Fixed bug computing a symbol's parent. preferedparent is the voting table, not the home of the definite information. The bug caused the use of the wrong parent lod during the import of changesets. Luckily the chosen parent was not known yet, causing an abort. (check-in: a5840849 user: aku tags: trunk)
04:55
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. (check-in: 0d13da30 user: aku tags: trunk)
04:51
Print the tree of symbols (i.e. definite parents) at high verbosity levels. (check-in: 70acbf63 user: aku tags: trunk)
03:05
Remove string_xform.c from the makefile. Require a "sym-" prefix on tags used to name baselines or branches. The prefix is omitted when the tag is used for this purpose; it is only there to avoid ambiguity with other built-in tag names. (check-in: 41cf3e7c user: drh tags: trunk)
2008-02-05
20:49
Removed annoying yellow/red placeholders. Added links to your wiki changes and your *file* commits. (check-in: 4280e0d1 user: stephan tags: trunk)
20:48
Moved string_xform.c code into encode.c, since that code serves a similar purpose. (check-in: 91f151d5 user: stephan tags: trunk)
20:47
Moved string_xform.c code into encode.c, since that code serves a similar purpose. (check-in: 97db3c04 user: stephan tags: trunk)
15:52
Added tracking of file removal in changesets. (check-in: c9270189 user: aku tags: trunk)
15:51
Moved log output for changeset log message to higher verbosity level. (check-in: 8ec5d8c8 user: aku tags: trunk)
06:09
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. (check-in: a1bbf19d user: aku tags: trunk)
06:08
Removed bogus (early) unset. (check-in: 7caaf7af user: aku tags: trunk)
00:01
Added /admin/sql page. Added a 'const' to db_generic_query_view() (check-in: 6f05b429 user: stephan tags: trunk)
2008-02-04
23:14
Added style info to db_generic_query_view(), so it can be styled via css (check-in: 0095e24b user: stephan tags: trunk)
19:08
Hyperlinks to directory browser pages on the pathname in the title of the file history viewer, finfo. (check-in: a20dcb5c user: drh tags: trunk)
19:07
On the printf extension converters (ex: %T, %w) the "alternate form flag" (ex: %#T, %#w) means first read an integer from the argument list and then only process that number of characters from the string or blob that is read next from the argument list. (check-in: 8c3ec003 user: drh tags: trunk)
18:28
Add support for annotation in the web interface. (check-in: eae7ddfa user: drh tags: trunk)
17:34
Allow manifests with zero files. This fixes a problem in which some files do not appear in the filename table. (check-in: c8da83ca user: drh tags: trunk)
17:27
Added link to /timeline?u=... Added several TODO markers. (check-in: d27a905b user: stephan tags: trunk)
17:26
Added 'achtung' class. See the code comments. (check-in: b5b04dcf user: stephan tags: trunk)
16:39
Begin inserting code to implement an "annotate" command. (check-in: 9b68bc33 user: drh tags: trunk)
14:24
Additional cleanup in the differencing engine. The new "dir" webpage now uses name= instead of the d= for the query parameter. (check-in: e81cc91a user: drh tags: trunk)
14:05
Improvements to comments on the diff algorithm code. Completely remove the older Wagner/Myers algorithm which had been commented out. (check-in: eeea77f3 user: drh tags: trunk)
13:53
Tweaks to the diff algorithm give a 4x performance increase. Now comparable to command-line diff. (check-in: e8cf0061 user: drh tags: trunk)
13:14
Better error message when attempting to create a new repository in a directory that does not exist. (check-in: 97ff24de user: drh tags: trunk)
06:26
Added some musings to one of the situations to deal with. (check-in: 812c91bb user: aku tags: trunk)
06:05
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 :/ (check-in: e1dbf318 user: aku tags: trunk)
06:02
Moved the really large log output during revision import (log message, and command) to very high log levels. (check-in: e7138d7f user: aku tags: trunk)
06:01
Added classes to track the state of a workspace, and of the whole revision import. (check-in: d011e0b0 user: aku tags: trunk)
06:00
Added note of an idea taken over by Mark Janssen. (check-in: 4e02d677 user: aku tags: trunk)
05:59
Fixed a typo. (check-in: 2f70125d user: aku tags: trunk)
02:45
Add file and directory browsing capabilities to the web interface. (check-in: e487b77b user: drh tags: trunk)
00:25
Honor the -f flag on commit. (It was using -r in place of -f due to a typo, apparently.) (check-in: e0580dfe user: drh tags: trunk)
2008-02-03
22:12
login_page() now honors the 'g' (goto) parameter after a successful password update (check-in: 44811a65 user: stephan tags: trunk)
22:07
Added rudimentary /my page. (check-in: 334f8e6e user: stephan tags: trunk)
21:56
refactored some /tagview code into more generic bits. Added string_xform.c. (check-in: 9c01af2d user: stephan tags: trunk)
21:50
added db_generic_query_view() to simplify /tabview and /my implementations (check-in: 74ba41a5 user: stephan tags: trunk)
18:18
tclfossil: added revlist command (check-in: 1c92462c user: mjanssen tags: tclfossil-1)
18:00
Fixed a memory leak in tagview_page_list_tags(). Minor other refactorings. (check-in: 2cb3290e user: stephan tags: trunk)
17:22
Corrected incorrect access rights check (did require Setup rights). Documentation corrections/additions. A few style conformance formatting changes. (check-in: b81e93f5 user: stephan tags: trunk)
16:35
got rid of '... might be used initialized' warnings (check-in: 649dd8a6 user: stephan tags: trunk)
16:32
Refactored to use a shared query-rendering routine. (check-in: 02a7c850 user: stephan tags: trunk)
16:23
tclfossil, starting with db_ commands (check-in: 7f9c5ee7 user: mjanssen tags: tclfossil-1)
02:41
Merge in some changes to the CGI reply generator that we made back in early December but got lost on an abandoned branch. Distributed version control is nice, but it also leaves open the real danger of losing changes this way. We need to work on interface features to minimize the risk of losing changes like this, and to identify lost changes quickly. (check-in: b312f5ff user: drh tags: trunk)
02:38
Documentation updates. (check-in: c403f9dc user: drh tags: trunk)
01:36
Merged importer to mainline. (check-in: 05239834 user: aku tags: trunk)
01:33
Removed the now obsolete textrange information from the revision table and updated the file revision code to not store its textrange any longer. (check-in: 3e76f2a5 user: aku tags: trunk)
01:25
Added a few search features (name/id/name-like). Changed default view to only show the 10 [arbitrarily chosen #] most recent tags. Still need to sort out tags for different types of entries (wiki/ticket/baseline) (check-in: 2ab3a2f6 user: stephan tags: trunk)
00:45
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. (check-in: 83d75a6c user: aku tags: trunk)
00:04
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. (check-in: aa04ac9d user: aku tags: trunk)
2008-02-02
23:48
Stylistic changes to the C code that implements the tagview page. (check-in: 10437374 user: drh tags: trunk)
23:39
A completely new diff algorithm. It is not guaranteed to find the minimum difference between files, but it seems to do a good job and runs much faster on larger files. But command-line diff is still faster for really large files. More work needed. (check-in: 95c07a50 user: drh tags: trunk)
22:59
Reworked the storage of the text range a bit, split immediately (settext) and store the pieces, instead of splitting everytime a piece is needed. (check-in: f94f7e17 user: aku tags: trunk)
21:10
added /tagview page - a simple browse-by-tag interface (check-in: 02d1ed6a user: stephan tags: trunk)
18:51
corrected two 'var may be used uninitialized' warnings (check-in: 01d3c338 user: stephan tags: trunk)
18:44
fixed a minor memleak in update.c:revert_cmd() (check-in: 22cc813f user: stephan tags: trunk)
07:33
Merged with mainline. (check-in: dbdc1601 user: aku tags: trunk)
07:03
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. (check-in: 9214c118 user: aku tags: trunk)
06:49
Dropped primary key of temp table __im, record ids are not unique. Scenario: Several empty files. All have the same id, different paths. (check-in: dfb6ee3b user: aku tags: trunk)
05:07
Fix use (scoping) of revision items when looking for vendor branch data. (check-in: b405f4fc user: aku tags: trunk)
05:05
Fix bad setup of comment for manifest. (check-in: bd9703de user: aku tags: trunk)
2008-02-01
19:58
Fix the makefile so that you can build twice in a row from the source directory and it still works. (check-in: 1b52d130 user: drh tags: trunk)
15:35
Update sqlite to version 3.5.5 plus patches. (check-in: 6cdf4709 user: drh tags: trunk)
12:39
Fix a typo on the user setup page. Reported via email by Brad Harder. (check-in: 5d3783bd user: drh tags: trunk)
05:33
Activated invokation of the fossil command importing a revision. (check-in: 41c9b799 user: aku tags: trunk)
05:32
Fixed description of file checkin.c. Implemented new command test-import-manifest. Updated fossil accessor code in the importer to the changed command line API of test-import-manifest. (check-in: b7a93530 user: aku tags: trunk)
05:29
Made remove_from_argv public for use by the upcoming test-import-manifest command. Fixed description of verify_all_options. Initialized variable to silence gcc warning. (check-in: da4f0c26 user: aku tags: trunk)
05:25
Reworked the code determining the parent of the currently committed changeset. It should now handle the transition from vendor branch to trunk correctly. (check-in: e8efbc31 user: aku tags: trunk)
2008-01-31
22:04
Add a configuration option to the Setup/Access page that allows the user to set the xfer download limit. Increase the default xfer download limit to 5 million bytes. Increase the minimum phantom request limit from 100 to 200. (check-in: bb3a25e2 user: drh tags: trunk)
21:54
The client-side of a sync uses an adaptive approach to limit the number of "gimme" requests on each HTTP round-trip. This reduces traffic on a large clone. The number of "gimmes" on each round-trip is the larger of 100 or twice the number of files received on the previous cycle. (check-in: 95fab8c6 user: drh tags: trunk)
21:31
Fix a bug in the db_get_int() routine that was causing the default value to be ignored - resulting in very slow clones for systems without a configuration database. (check-in: bf1a30c9 user: drh tags: trunk)
07:14
Added high-verbosity (level 11) logging to trace the application of rcs patches. (check-in: e5ae612c user: aku tags: trunk)
06:25
Tinkered with the revision information transfered from a changeset to push, to the fossil accessor code, modified the logging as well. (check-in: 7c43583d user: aku tags: trunk)
05:39
Moved the most complex parts of pushto into their own commands. (check-in: 3cd599ca user: aku tags: trunk)
2008-01-30
21:58
Created fossil in Tcl branch (check-in: 2f165897 user: mjanssen tags: tclfossil-1)
21:53
Branch created tclfossil (check-in: abbdb0e8 user: mjanssen tags: tclfossil-1)
08:28
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. (check-in: 348e45b0 user: aku tags: trunk)
08:25
Added placeholder code to the fossil accessor class for the import of a revision. currently only logging the call. (check-in: f9e0d23d user: aku tags: trunk)
08:23
Broke package dependency cycle introduced when moving the cset load code from the InitCsets pass to the cset class. (check-in: 9e1b461b user: aku tags: trunk)
08:20
Extended log writing to handle multi-line log messages. (check-in: 81a297a6 user: aku tags: trunk)
03:23
Moved the code loading changesets from state to its proper class. (check-in: 49dd66f6 user: aku tags: trunk)
03:10
Fixed the names for the case-sensitive file operations. (check-in: ed13b28b user: aku tags: trunk)
2008-01-29
04:05
Moved the new case-sensitive file checking code into the misc package with descriptive command names, to recapture clarity of code at the calling places. (check-in: edc46651 user: aku tags: trunk)
01:11
Error message on "commit" or "user default" if the user does not exist. (check-in: e2a42f7a user: drh tags: trunk)
00:38
Fix a bug in the "user default" command. (check-in: 0921b68f user: drh tags: trunk)
00:12
cvs2fossil: add -nocomplain flag to glob to prevent an error if no files/dirs match (check-in: 6625739e user: mjanssen tags: trunk)
2008-01-28
23:57
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 (check-in: 7208c7ac user: mjanssen tags: trunk)

18:29
REPLACE into the event table rather than INSERT. (check-in: 7aa9a2e2 user: drh tags: trunk)
2008-01-27
20:43
Added log output to make the log during file import more complete. (check-in: e60ba158 user: aku tags: trunk)
20:43
Added debug helper methods. Fixed description of symbol reference in instances. (check-in: 970be48f user: aku tags: trunk)
20:42
Allow for detached branches when checking lod consistency. Fixed formatting nit. Added debug helper method. (check-in: d3aa3388 user: aku tags: trunk)
20:40
Fixed bug in the code detaching a vendor branch. Left link to removed parent dangling, and killed connection to first on branch. No more. (check-in: 0adaabf1 user: aku tags: trunk)
20:38
Added comments to the sql commands in the integrity checks. (check-in: 727f370c user: aku tags: trunk)
2008-01-19
06:07
More comments on sql statements. (check-in: 6809145e user: aku tags: trunk)
2007-12-08
03:39
More comments on sql statements, slight reordering of some tables and conditions. (check-in: f7fe15cd user: aku tags: trunk)
02:59
Added comments explaining the select statement checking revision/file/project/metadata integrity (check-in: 808fbc47 user: aku tags: trunk)
2007-12-07
08:55
Removed two unused classes. (check-in: 97e0e9dd user: aku tags: trunk)
2007-12-06
04:05
Reworked time keeping in the pass manager, the microseconds kept by by the 'time' command flow over after roughly 72 minutes (2^32 microseconds). We now use 'clock seconds' to explicitly keep time. This should flow over only after abuut 136 years. The loss of resolution is ok, the converter does not need it. Seconds are good enough. (check-in: 9a763fe5 user: aku tags: trunk)
03:58
Extended traversal core to allow custom labeling of the log output immediately before the traversal starts. (check-in: b81901ad user: aku tags: trunk)
03:56
Removed the automatic destruction of the traversed graph from the traversal core and put it into the caller (import only, currently). (check-in: b59cdc7f user: aku tags: trunk)
03:54
Added progress feedback to the file import, and moved the log output to level 8. (check-in: 08f80857 user: aku tags: trunk)
03:48
Fixed handling of empty revisions. (check-in: bf0b70d5 user: aku tags: trunk)
2007-12-05
08:07
Merged mainline into my branch to get the newest application. (check-in: d0305b30 user: aku tags: trunk)
07:58
Bugfix. Translation implies encoding, not the reverse. This caused problems when parsing files with mixed-mode line-endings. The generated char offsets and lengths were off. Found during expansion. (check-in: 6f1c4424 user: aku tags: trunk)
07:57
Created new pass for the import of files and changesets. Uses the new file method and fossil accessor class to handle the file import. Changeset -> manifest conversion is _not_ covered yet. (check-in: d9fc75e5 user: aku tags: trunk)
07:55
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. (check-in: e100314e user: aku tags: trunk)
07:53
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. (check-in: 1a20a81f user: aku tags: trunk)
07:52
Added helper class managing access to fossil repositories. Already has a basic method to import and delta-compress a series of files. Used 'test' commands of fossil to get the necessary low-level access. (check-in: b6bf21e2 user: aku tags: trunk)
07:50
Put the graph traversal core of the cycle breaker core into a separate class, for use in other parts of the system. TODO: Rewrite the cycle breaker core in terms of this class. (check-in: e7013137 user: aku tags: trunk)
07:47
Extended project class with method return full path of the project, i.e. inclusive its repository base path. (check-in: 82e35d33 user: aku tags: trunk)
02:29
Went to explicit var-substitution for the dynamic sql queries, makes formatting easier. (check-in: 0ee9711e user: aku tags: trunk)
02:25
Fixed typo, although it did not break anything. (check-in: 5b2d15f1 user: aku tags: trunk)
02:24
Fixed log progress use in last breaker pass. Disabled the check regarding revision order. It still triggers and I can't see anything wrong. Pressing forward for now, i.e. get the remaining passes done, then revisit this issue. (check-in: 22905072 user: aku tags: trunk)
02:22
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. (check-in: c4003e7b user: aku tags: trunk)
02:21
Removed lots of now dead code. Added a note to the last remaining user of the changeset method 'nextmap'. (check-in: 3c0ef2c3 user: aku tags: trunk)
2007-12-04
13:05
Generate CGI replies as separate header and body so that the header can be extended during the construction of the body. (check-in: 6af8fdc2 user: drh tags: trunk)
04:54
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. (check-in: 711e0002 user: aku tags: trunk)
02:47
Add the timeline display preferences page with the ability to turn on and off block markup in timeline comments and to limit the length of timeline comments. (check-in: ebb27659 user: drh tags: trunk)
01:55
Fix typos in the "concepts.html" document. (check-in: ec1fbd7f user: drh tags: trunk)
01:26
Fix the revert command so that it works from subdirectories. Other minor comment and help-text changes. (check-in: 371dd657 user: drh tags: trunk)
2007-12-03
19:17
Send native deltas when cloning. The reduces bandwidth and reduces server load. (check-in: 18fbb9c5 user: drh tags: trunk)
19:08
Fix the delta computation on download so that it never tries to delta a file that has the same file as both its parent and its child. (check-in: 16fbb59b user: drh tags: trunk)
14:42
Detect delta loops and make at least one member of the loop a phantom. (check-in: fb90abe5 user: drh tags: trunk)
00:27
Patch problems with timeline. Need to rethink the whole implementation. (check-in: 20553a42 user: drh tags: trunk)
2007-12-02
23:47
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. (check-in: e288af39 user: aku tags: trunk)
23:45
Actually put the code for the new pass into the repository. (check-in: 060513f2 user: aku tags: trunk)
22:30
Addition to the default style sheet to cover the name/value pairs at the top of the vinfo page. Also a bugfix in the report.c code. (check-in: dff17229 user: drh tags: trunk)
20:06
Importer Status...

Speed. This is now mostly acceptable. The one exception is pass 'BreakAllCsetCycles'. The reason is that the limit computation it does for backward branches still uses the inefficient file-level dependency computation. This will be tackled in short order. For the other passes the file spent is 'CsetsDeps' is recouped by the much faster graph setup.

Memory. This seems to be mostly acceptable as well, with the exceptions of 'BreakAllCsetCycles' (again, for reasons see above), and 'InitCsets'. It seems to happen while the pass breaks internal dependencies, but there is no hard data. I have to measure using a memory-debug enabled tclsh. I suspect either the actual internal dependencies, or the pseudo-dependencies. Maybe combined with a bad choice of data structures. Well, measuring first. (check-in: e8c374f6 user: aku tags: trunk)

20:04
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 p... (check-in: 00bf8c19 user: aku tags: trunk)

06:58
Added progress output to the breaking of backward branches. (check-in: a437da48 user: aku tags: trunk)
06:57
Finally committing another disabled integrity constraint for changesets, explanations in the comments. (check-in: fd93aa26 user: aku tags: trunk)
06:49
Bugfix. Typo. (check-in: c7847514 user: aku tags: trunk)
06:18
Modified loop check in cycle breaker to abort immediately on first looped changeset. (check-in: 487bb1c6 user: aku tags: trunk)
06:17
Fix table linkage in query, and duplicated conditions :( (check-in: f7cca3f0 user: aku tags: trunk)
05:49
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. (check-in: 9c570550 user: aku tags: trunk)
04:55
Bugfix. Have the symbol dependency retrieval commands actually return something. (check-in: 71201058 user: aku tags: trunk)
03:49
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. (check-in: ac026148 user: aku tags: trunk)
03:46
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. (check-in: fbfb5318 user: aku tags: trunk)
03:42
Fixed typo. Grr. (check-in: 0a97ad38 user: aku tags: trunk)
03:41
Added progress output to the code loading up the graph to traverse, nodes, and arcs. (check-in: 41d41c7b user: aku tags: trunk)
03:40
Added ability to declare indices on tables in the persistent state. Used this to declare indices on critical columns. Slows down the transactions saving changesets, this however is made up when it comes to successor/predecessor retrieval of changesets. (check-in: 74854a30 user: aku tags: trunk)
2007-12-01
18:36
Bugfix. Handle free-floating branches (their root revision was removed as unnecessary). (check-in: 79c227a9 user: aku tags: trunk)
18:35
Helper updated to changes in state definition. (check-in: 5bbc7d4c user: aku tags: trunk)
2007-11-30
15:21
Updated helper app to changed state definition (csrevision -> csitem). (check-in: fc635d59 user: aku tags: trunk)
15:20
Fixed typo of keyword. (check-in: 3db03be6 user: aku tags: trunk)
06:57
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. (check-in: 0af7a3c8 user: aku tags: trunk)
06:50
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. (check-in: c14e8f84 user: aku tags: trunk)