Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins that include changes to files matching 'f-apps/*'
|
2026-02-06
| ||
| 17:06 | Remove a symbol which name-collides with a lib symbol in static builds. check-in: 7a8ef85236 user: stephan tags: trunk | |
|
2025-08-30
| ||
| 21:39 | Swap the order of the fsl_list_visitor_f() parameters, ostensibly for consistency with other APIs but we really have a mix of arg orders in similar APIs. Both args are (void*), which makes this an easy change to break stuff with. This will very likely not be merged to trunk, but is left here as a reminder to self that this type of change is inherently dangerous and could lead to easy-to-miss bugs until the wrong object is dereferenced somewhere (perhaps in downstream code). Resist the temptation. closed check-in: 76ff044d76 user: stephan tags: list-visitor-swap-args | |
|
2025-08-23
| ||
| 19:03 | Doc tweaks and fixes for some -pedantic -Wextra warnings. check-in: 67081cb172 user: stephan tags: trunk | |
|
2025-08-21
| ||
| 22:51 | Simplify the fsl_timer API. check-in: 82646cc1fa user: stephan tags: trunk | |
| 21:50 | Refactor fsl_db and fsl_stmt to clearly differentiate their private from non-private state. check-in: 0425c2982b user: stephan tags: trunk | |
| 21:26 | Factor out fsl_stmt::columnCount. check-in: 22c1b839ce user: stephan tags: trunk | |
| 12:58 | Split fsl_buffer_escape_arg() into fsl_buffer_esc_arg_v2() and fsl_buffer_esc_arg(). check-in: ef77c0db85 user: stephan tags: trunk | |
|
2025-08-20
| ||
| 18:11 | Internal cleanup in fsl_dircrawl(). check-in: 5edcbcd90d user: stephan tags: trunk | |
| 15:56 | Remove deprecated SPDX-ArtifactOfProjectName header. check-in: 31bb2bd4bf user: stephan tags: trunk | |
| 15:37 | Add f-hash app to test [a3e96d40f438] against fossil(1) with. Update a license header. check-in: 34a4057578 user: stephan tags: trunk | |
| 12:45 | Generic cleanups prompted by porting some of this into another tree. check-in: de177b2870 user: stephan tags: trunk | |
|
2025-08-14
| ||
| 16:17 | Rename fsl_content_blob() to fsl_content_raw() to help reduce the number of 'blob' overloads and better describe what it does. A micro-optimization in fsl__content_put_ex(). check-in: 34effa8313 user: stephan tags: trunk | |
| 13:50 | Delay RID content validation checks until the end of the transaction _above_ where the first content is added in any given transaction stack is. check-in: af63b23613 user: stephan tags: trunk | |
|
2025-08-12
| ||
| 19:03 | Move the to-verify-at-commit cache into the PTL cache. When popping the PTL for commits, migrate any remaining IDs in the various caches to the previous level so that the 'available' and 'missing' caches work properly. The 'toVerify' entries will have been cleared by the time that happens, so they (correctly) won't bubble up. check-in: 5ac14a34a6 user: stephan tags: trunk | |
| 17:50 | Make the PTL caches more selective in what they clear. check-in: db73d2beed user: stephan tags: trunk | |
| 17:41 | Make the PTL caches more selective in what they clear. closed check-in: 8cb51b75c2 user: stephan tags: mistake | |
| 17:39 | Make the PTL caches more selective in what they clear. check-in: 9feefb9e6e user: stephan tags: mistake | |
| 17:39 | Make the PTL caches more selective in what they clear. Edit: these were supposed to be dry-run checkins! check-in: 07e5cd3a16 user: stephan tags: mistake | |
| 13:53 | Migrate the "missing" and "available" RID caches to the PTL cache. check-in: 8129e686ce user: stephan tags: trunk | |
|
2025-08-11
| ||
| 21:06 | Add {{user.name}} to fsl_cx_format(). check-in: 23c80ebbc8 user: stephan tags: trunk | |
| 19:14 | Move fsl_cx_format() and friends into the library and have fsl_outputf() proxy it. Have fsl_strlen() use strlen() if the arg is not NULL, rather than looping, as strlen() is much faster. check-in: 096030bed6 user: stephan tags: trunk | |
| 18:16 | Get initial skeleton for fsl_cx_format() working. check-in: 7090da4704 user: stephan tags: trunk | |
| 14:27 | Rename fsl_id_bag_reset() to fsl_id_bag_reuse() to match fsl_buffer_reuse(). Add an id bag cache to fsl_cx as an allocation micro-optimization in fsl__content_mark_available(). check-in: 36b409303b user: stephan tags: trunk | |
| 13:32 | Merge the savepoints branch into trunk. This changes how fsl_db deals with nested transactions, from a pseudo-nesting on top of a single BEGIN/COMMIT pair to the nesting supported by SAVEPOINTs, the most significant of which (for this project) is the ability to dry-run invididual parts of a transaction without rolling back the whole thing. Add sanity-tests.sh. check-in: 761ae5eaea user: stephan tags: trunk | |
| 13:24 | Get the the verify-commit-not-called check back in shape, and learned the hard way that it's only called for transactions which actually commit _changes_. closed check-in: 90efbdb58c user: stephan tags: savepoints | |
| 12:35 | Internal refactoring of the fsl_db transaction pieces. Disable the verify-commit-not-called check because a test is inexplicably triggering it, but that needs to be tracked down and the check re-enabled, and this is my reminder to do so. check-in: 747bcd2d6d user: stephan tags: savepoints | |
| 12:05 | Merge and close the txn-levels branch. The db transaction support now provides enough state that fossil will be able to have certain caches layered by transaction level (still TODO, of course). check-in: 8995cefbaf user: stephan tags: savepoints | |
| 11:59 | Turns out that ROLLBACK TO SAVEPOINT also requires a RELEASE SAVEPOINT. Disable the verify-COMMIT-not-called check because its semantics no longer fit and they trigger the aforementioned mysterious 'constraint failed' error. closed check-in: a68e4954ae user: stephan tags: txn-levels | |
|
2025-08-10
| ||
| 22:19 | Extend fsl_db's multi-level transaction handling and hooks, moving towards having fsl_cx use a cache which accounts for the current transaction level. This inexplicably breaks fsl_repo_create(), f-status, f-ci, et. al. (but not f-sanity), with a curious 'constraint failed' error when RELEASE SAVEPOINT is run. No clue what that's about but this needs to be checked in before getting some sleep. check-in: c07c6399a5 user: stephan tags: txn-levels | |
| 19:51 | Work towards improving dry-run modes vis-a-vis the transaction stack and stale caches. check-in: c85387bcd9 user: stephan tags: savepoints | |
| 18:54 | Bump lib version to 0.6-ish because of the fundamental change how transactions are handled. Docs and internal cleanups. Try adding fsl_checkin_opt::dryRun flag but it trips over stale cache entries via the verify-at-commit pieces. check-in: 3f7c6edf9d user: stephan tags: savepoints | |
| 13:07 | Merge in trunk to remove fsl_db run-SQL-on-commit pieces. check-in: b0d80cd72b user: stephan tags: savepoints | |
| 13:05 | Remove the fsl_db run-this-SQL-before-commit bits, as they've never been used outside of test code and their use raises more questions than it solves. It was originally created as a way to run fossil's pre-commit checks, but that has long-since been handled via a callback hook. Oh, and the lock errors while shelling out are affecting f-sanity but not f-ci, which is encouraging. check-in: 8d40ce7824 user: stephan tags: trunk | |
| 13:01 | More savepoint work. Add an assert in prep for removal of the fsl_db run-sql-before-commit bits, as they're unused except for in test code. This transition to savepoints leads to 100% reliable locking errors when shelling out to fossil(1) for syncing, which is a genuine problem and, so far, the only one which argues for keeping plain-vanilla transactions instead of savepoints. check-in: 2ab51a23d9 user: stephan tags: savepoints | |
| 12:21 | More experimentation with the savepoint transition. check-in: 300c7d8151 user: stephan tags: savepoints | |
| 02:49 | "Resolve" the test failure mentioned in [ad6259be7b0d] by having fsl_db_txn_end() not necessarily honor the persistent rollback flag for non-top-level savepoints, and instead honoring only rollback flag specific to that call. This is an awkward thing but helps accommodate the tests which intentionally try broken things and then get the db stuck in rollback mode while still trying to operate the API. We need a different way of ending transactions, such that the scope in question decides whether a rollback needs to bubble up or not, but we have close to 200 uses of the transaction-close family of functions which would need to be adapted. check-in: 71630ee6c2 user: stephan tags: savepoints | |
| 02:16 | Experimentally change fsl_db to use savepoints instead of transactions. This seems to work fine except that f-sanity.c:test_ckout_rename() inexplicably fails this way. The fsl__cx_caches_reset() change in this checkin needs to go into the trunk even if the rest of this is discarded. This change introduces new locking errors when shelling out to fossil(1), apparently. check-in: ad6259be7b user: stephan tags: savepoints | |
| 00:58 | Globally rename foo_transaction_bar() to foo_txn_bar(). check-in: 03da2e699b user: stephan tags: savepoints | |
|
2025-08-09
| ||
| 23:21 | Experimentally add fsl_cx_savepoint_begin/end() but it's not something we can apply piecemeal: if we use a savepoint in an outer transaction, we cannot use the legacy API for an inner transaction (and the API is littered with such inner transactions). check-in: cc0c6680c2 user: stephan tags: savepoints | |
| 15:45 | Remove the timer from f-rebuild, as it's giving me ineplicable grief. check-in: 7692dfa6c0 user: stephan tags: trunk | |
| 13:08 | Port fsl_rebuild() to the new message-passing mechanism and move most of f-rebuild's rebuild-step handling into fsl_msg_f_fcli. This reveals an assertion in fsl__content_deltify() when rebuilding this repo but it predates this change. check-in: 67ef349d50 user: stephan tags: trunk | |
| 11:31 | Get it building with -pedantic again, with one exception in fnc.c which i'm not sure how to resolve. check-in: e5c5800b6b user: stephan tags: trunk | |
| 10:53 | Restructure some fsl_cx internals. This touches fnc's stash impl so this will need to be pushed to fnc as well. check-in: 1ffe4176bd user: stephan tags: trunk | |
| 10:39 | Consolidate fsl_cx_config and fsl_cx_init_opt into fsl_cx_config. check-in: 455edd33d7 user: stephan tags: trunk | |
|
2025-08-08
| ||
| 23:43 | Move f-clone's fsl_msf listener into fcli and have fcli use that one by default. check-in: 2b586a9efd user: stephan tags: trunk | |
| 23:23 | More work on fsl_msg. check-in: 22b8f8d360 user: stephan tags: trunk | |
| 22:38 | Start refactoring the xfer-specific client notification callback into something more general so that we can consolidate various callback types with this interface. check-in: 224917fc4a user: stephan tags: trunk | |
| 00:28 | Squelch a misdiagnosed possibly-uninitialized-var-use warning in f-clone.c. check-in: a60aca56ae user: stephan tags: trunk | |
| 00:10 | Add --dump-e flag to f-query to dump out the -e flag's SQL or the -E flag's file contents before running the query. check-in: 61f89c1be9 user: stephan tags: trunk | |
|
2025-08-07
| ||
| 23:47 | 1) Fix a buffer mis-cleanup in f-test-chkout-db-search.c. 2) In fsl_deck_save(), apply deltification of the parent checkin. Apparently (2) has previously been done only via fsl_checkin_commit(), which is a shame. 3) Remove a big chunk of dead code. 4) Move fsl_report_import_buffer/blob() into the internal APIs. Testing that (2) works is part of this checkin. check-in: 99a32dc707 user: stephan tags: trunk | |