Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History for f-apps/f-sanity.c
|
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. file: 5b04a9a51d check-in: [76ff044d76] user: stephan branch: list-visitor-swap-args, size: 90130 ) | |
|
2025-08-23
| ||
| 19:03 | Doc tweaks and fixes for some -pedantic -Wextra warnings. file: bcbc67fe34 check-in: [67081cb172] user: stephan branch: trunk, size: 90131 ) | |
|
2025-08-21
| ||
| 22:51 | Simplify the fsl_timer API. file: 16a6f41e64 check-in: [82646cc1fa] user: stephan branch: trunk, size: 90127 ) | |
| 12:58 | Split fsl_buffer_escape_arg() into fsl_buffer_esc_arg_v2() and fsl_buffer_esc_arg(). file: c665891a50 check-in: [ef77c0db85] user: stephan branch: trunk, size: 90152 ) | |
|
2025-08-20
| ||
| 18:11 | Internal cleanup in fsl_dircrawl(). file: 2d910acd43 check-in: [5edcbcd90d] user: stephan branch: trunk, size: 90170 ) | |
| 15:56 | Remove deprecated SPDX-ArtifactOfProjectName header. file: fd919681ca check-in: [31bb2bd4bf] user: stephan branch: trunk, size: 90154 ) | |
| 12:45 | Generic cleanups prompted by porting some of this into another tree. file: 08bc3e6755 check-in: [de177b2870] user: stephan branch: trunk, size: 90194 ) | |
|
2025-08-11
| ||
| 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_. file: 0a259c35e7 check-in: [90efbdb58c] user: stephan branch: savepoints, size: 90166 ) | |
| 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. file: 462f844284 check-in: [747bcd2d6d] user: stephan branch: savepoints, size: 89807 ) | |
| 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. file: e951dcee8f check-in: [a68e4954ae] user: stephan branch: txn-levels, size: 89777 ) | |
|
2025-08-10
| ||
| 13:07 | Merge in trunk to remove fsl_db run-SQL-on-commit pieces. file: 3ebd01c7d3 check-in: [b0d80cd72b] user: stephan branch: savepoints, size: 89740 ) | |
| 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. file: cbf3033ab2 check-in: [8d40ce7824] user: stephan branch: trunk, size: 89883 ) | |
| 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. file: f7b02f9e91 check-in: [2ab51a23d9] user: stephan branch: savepoints, size: 90683 ) | |
| 12:21 | More experimentation with the savepoint transition. file: 5c2a85e43d check-in: [300c7d8151] user: stephan branch: savepoints, size: 90668 ) | |
| 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. file: b86aaf8f0f check-in: [71630ee6c2] user: stephan branch: savepoints, size: 90809 ) | |
| 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. file: d678d9a02a check-in: [ad6259be7b] user: stephan branch: savepoints, size: 90709 ) | |
| 00:58 | Globally rename foo_transaction_bar() to foo_txn_bar(). file: d9bc7c4625 check-in: [03da2e699b] user: stephan branch: savepoints, size: 90642 ) | |
|
2025-08-09
| ||
| 10:53 | Restructure some fsl_cx internals. This touches fnc's stash impl so this will need to be pushed to fnc as well. file: 6effd2ab56 check-in: [1ffe4176bd] user: stephan branch: trunk, size: 90834 ) | |
|
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. file: e1487cd055 check-in: [99a32dc707] user: stephan branch: trunk, size: 90831 ) | |
|
2025-08-04
| ||
| 19:55 | Disable two f-sanity tests which only work in repo copies which have a particular shunned artifact in them. Not sure how i got away with that test for so many years. file: 51ed95bc92 check-in: [61a2dc08da] user: stephan branch: scary-changes, size: 90829 ) | |
| 18:44 | More xfer internals reworking for igot/gimme. file: 901a76b092 check-in: [ed2320e2b6] user: stephan branch: scary-changes, size: 90667 ) | |
|
2025-08-01
| ||
| 18:04 | Clean up the fsl_xfer_msg interface a bit. Minor doc cleanups. file: f531b20ae2 check-in: [3a5550ccdc] user: stephan branch: trunk, size: 90597 ) | |
|
2025-07-31
| ||
| 21:09 | Add a timestamp to the sync output. We don't actually need this until we can serve sync, but now we have it. file: af7448daa1 check-in: [838a1d63b6] user: stephan branch: trunk, size: 90518 ) | |
| 12:30 | Trim extraneous trailing zeros from f-sanity timing output. file: f8fb58a8a7 check-in: [8bdd2cc89d] user: stephan branch: trunk, size: 90432 ) | |
| 11:35 | Add wall-clock timing info to f-sanity. file: 883b588cb8 check-in: [51f2facfd9] user: stephan branch: trunk, size: 90428 ) | |
|
2025-07-26
| ||
| 11:16 | Add general SCM-related processing timer to fsl_xfer_metrics. Rename fsl_timer_state to fsl_timer. file: b7dfe607f0 check-in: [7ea72e9c97] user: stephan branch: trunk, size: 90360 ) | |
|
2025-07-24
| ||
| 15:39 | Move the sync URL object from fsl__xfer to fsl_sc. Unrelated code reformatting. Add basic tests for the previous check-in. file: d3056781f0 check-in: [fe12d1b573] user: stephan branch: trunk, size: 90372 ) | |
|
2025-07-22
| ||
| 22:35 | Bring fsl_uperm_add() up to par with fossil's counterpart, so that some capabilities also imply others. file: 1438253d80 check-in: [4a19dcec06] user: stephan branch: trunk, size: 89887 ) | |
|
2025-07-21
| ||
| 17:51 | More work on fsl_uperm. Add a sketch impl for how to handle the login card from the popen() fsl_sc impl, which isn't pretty but should work (once we start actually generating login cards). file: 2eabaf34e5 check-in: [64994439a8] user: stephan branch: trunk, size: 89835 ) | |
| 15:44 | Add fsl_uperm_add() support for the inheritance of 'developer' and 'reader' permissions. Add some fsl_uperm tests to f-sanity. file: bf18338259 check-in: [bc9eabe0f2] user: stephan branch: trunk, size: 89806 ) | |
|
2025-07-10
| ||
| 00:41 | Replace some hard-coded 'trunk' branch references to the value from fsl_branch_main(). file: fc31682b1b check-in: [e410338e43] user: stephan branch: trunk, size: 88378 ) | |
| 00:11 | Minor internal query optimizations based on learnings from the fossil(1) tree today. file: 4242380ece check-in: [44fa4c0dbe] user: stephan branch: trunk, size: 88354 ) | |
|
2025-07-09
| ||
| 23:09 | Generic cleanups. Add fsl_branch_main() as a way to get (and cache) the 'main-branch' repo setting, so that it can be used in some queries which currently hard-code 'trunk'. Fix a memleak in an f-sanity test. file: adfe1c4969 check-in: [b735efb1d8] user: stephan branch: trunk, size: 88307 ) | |
|
2025-06-30
| ||
| 10:07 | Fix test cases broken by an API change in [9cb314549426]. file: 23ff672426 check-in: [90878aa9fb] user: stephan branch: trunk, size: 87966 ) | |
|
2025-06-24
| ||
| 11:05 | Reimplement fsl_uuid_is_shunned() to use a cached statement, rename it to fsl_is_shunned_uuid(), add fsl_is_shunned_rid(), then remove it because it's meaningless (as explains in the fsl_is_shunned_uuid() docs). Add missing f-sanity tests for fsl_uuid_is_shunned(). file: ee8bb269f2 check-in: [1a9f5581fd] user: stephan branch: trunk, size: 87952 ) | |
|
2025-06-19
| ||
| 13:48 | fsl_stmt_bind_fmtv() now accents a ^ modifier after any of (sSbB) to mean that the binding should make a copy of the given argument. Also fix a test in f-sanity.c which was broken by the previous checkin (it was fixed before that checkin but could not be committed with that one because it requires the db API addition from this checkin). file: fc52592dbe check-in: [72b70a67aa] user: stephan branch: sync, size: 87412 ) | |
|
2025-06-12
| ||
| 20:42 | Add fsl_buffer_ensure_eol() and fsl_buffer_chomp(). file: 90ae718598 check-in: [f36d79f243] user: stephan branch: sync, size: 87247 ) | |
| 12:56 | fsl_file_tempname() now appends to the target buffer instead of replacing its content, to support its first real use case in the in-progress sync code. file: 2a324d2e79 check-in: [099bac5bf7] user: stephan branch: sync, size: 86627 ) | |
|
2025-06-11
| ||
| 14:49 | Cherrypick [49e907d5576f] and [2d621026fdd6] into trunk and touch up f-merge's help text a tiny amount. file: 127592cb81 check-in: [335ea3870e] user: stephan branch: trunk, size: 86574 ) | |
| 14:44 | Add more fsl_buffer_escape_arg() tests. file: 9666d37077 check-in: [2d621026fd] user: stephan branch: sync, size: 86601 ) | |
| 14:32 | Add fsl_buffer_appendch() and port fsl_buffer_escape_arg() over from fossil's blob_append_escaped_arg() in prep for use with the sync pieces. file: 2166bf0441 check-in: [49e907d557] user: stephan branch: sync, size: 86032 ) | |
| 09:42 | Add dry-run flag to fsl_sync_client(). Completed the content buffer metrics for fsl_cx, where i apparently got distracted literally mid-printf the first time around. file: 0052598c5b check-in: [5b92bb2cd3] user: stephan branch: sync, size: 85352 ) | |
|
2025-05-31
| ||
| 09:33 | Re-add -Wextra -pedantic CC flags, and work out its complaints across many files, but they're disabled without the --pedantic flag because they break with the upstream fnc.c and sqlite3.c. file: 0752fc6c5e check-in: [84ef1197c3] user: stephan branch: trunk, size: 85323 ) | |
|
2025-05-16
| ||
| 20:37 | Refactor the push-dir capability from f-sanity.c to fsl_chdir2(). Just realized that the C-file deps have not been reinstated in this build org yet. file: 6a2c01900f check-in: [0b5be80f02] user: stephan branch: rebuild-2025, size: 85283 ) | |
| 20:25 | Minor tweak to the previous checkin. file: 11f0a1399b check-in: [fb2917efb7] user: stephan branch: rebuild-2025, size: 85316 ) | |
| 20:19 | Get f-sanity running again (moving the binary to a different directory broke All The Things). file: 60deee89e3 check-in: [97ba272917] user: stephan branch: rebuild-2025, size: 85255 ) | |
|
2025-05-15
| ||
| 19:46 | Get the f-apps building, sans ncurses pieces. f-apps now build to the top dir, to ease out-of-tree builds, but this breaks f-sanity unless that one is run from one dir deeper in the tree (to-fix: it looks for specific files in ../). file: 2ddca77b32 check-in: [ab2589e021] user: stephan branch: rebuild-2025, size: 84230 ) | |
|
2025-04-11
| ||
| 07:14 | Initialize some uninitialized vars, for pedanticness's sake. Clean up some EOL whitespace. file: 740ee4d664 check-in: [8dd85b2e66] user: stephan branch: trunk, size: 84251 ) | |
|
2024-11-22
| ||
| 09:16 | Myriad miniscule modifications - space removals. file: 844e3af6e9 check-in: [8a3bc44c30] user: brickviking branch: trunk, size: 84249 ) | |
|
2024-09-26
| ||
| 16:27 | EOL cleanups and fix an age-old stack overwrite discovered via Martin's QNX. Edit: the stack-overwrite of 18 bytes traces back to [896ea2a01b33de25]. file: a831b15d02 check-in: [f6812e43bd] user: stephan branch: trunk, size: 84295 ) | |
|
2024-09-24
| ||
| 15:58 | Remove some stray debug output added in [71fbbe959b34]. file: 5bebeabb00 check-in: [57771ce4fc] user: stephan branch: trunk, size: 84232 ) | |
| 15:47 | Remove some auto.def debug output and add a comment explaining the new test in f-sanity.c. file: b50c9a282e check-in: [b096fe0978] user: stephan branch: trunk, size: 84350 ) | |
| 15:43 | Extend fsl_mtime_of_manifest_file() to be able to return the mtime of any artifact type if given a file ID of 0 or less. Simplify its internal impl a bit. file: 701c29eee0 check-in: [71fbbe959b] user: stephan branch: trunk, size: 84233 ) | |
|
2024-09-23
| ||
| 10:43 | include limits.h header for LONG_MAX on darwin While here, change buf->cursor precondition comparison check to ensure it is not greater than buf->used. It may be an unreachable state but we must guard it nonetheless. And expand getdelim() regress by covering the empty or end-of-buffer precondition path, and the no matching delimiter found in the stream path. file: 08be4df392 check-in: [322452cb8b] user: mark branch: trunk, size: 83639 ) | |
|
2024-09-22
| ||
| 15:38 | implement fsl_buffer_get{delim,line}() and regress test This API provides the same semantics as POSIX.1-2024 getdelim(3), which the fsl_buffer structure conveniently facilitates. A new regress test case is also added to f-sanity. Briefly discussed in /chat with Stephan. https://pubs.opengroup.org/onlinepubs/9799919799/functions/getdelim.html file: 43b89068cb check-in: [efb25dec6f] user: mark branch: trunk, size: 82885 ) | |
|
2024-09-21
| ||
| 01:27 | zap deadstore via missing break statement in switch block I suspect this fallthrough attribute was incorrectly added to silence a compiler warning that was in this case warranted. We don't want to clobber c; `c = offset` is correct for SEEK_SET. Incidentally, this routine's regress test was not failing the SEEK_SET case[0] because bin->cursor is at 0 so the fallthrough to the SEEK_CUR case[1] equates to `c = 0 + offset`. As such this commit also reorders test cases for a more rigorous regresssion test of fsl_buffer_seek(). [0]: assert(0==fsl_buffer_seek(&bin, 0, FSL_BUFFER_SEEK_SET)); [1]: case FSL_BUFFER_SEEK_CUR: c = (int64_t)b->cursor + offset; break; file: acab6eef90 check-in: [5d2f636c0c] user: mark branch: trunk, size: 81446 ) | |
|
2024-09-16
| ||
| 20:34 | Remove the fsl_db::f (fsl_cx*) member. This touches a lot of code lines but was not anywhere near as invasive as expected. file: 377b2c11d0 check-in: [f00a5025f5] user: stephan branch: db-hooks, size: 81446 ) | |
| 17:06 | More work on the db hooks. file: 8944bfbaaa check-in: [12b3603cd3] user: stephan branch: db-hooks, size: 81464 ) | |
|
2022-07-31
| ||
| 20:29 | Initial work on fsl_buffer::errCode, for propagating buffer-API error codes to simplify (primarily) series of append operations such that we do not have to check for an OOM error until the end of the series. Essentially works but more testing and making use of it in the core API is needed. file: 3f71a757e5 check-in: [b5a98f8a9e] user: stephan branch: buffer-errcode, size: 81466 ) | |
|
2022-04-10
| ||
| 00:17 | Reimplemented fcli_sync() with a more flexible interface, including the ability to suppress the system()'d command's output, so fnc can potentially use this without hosing the screen state. f-update now does a pull-sync before updating if autosync is on. file: 21f3bb3d55 check-in: [0afca69968] user: stephan branch: trunk, size: 80719 ) | |
|
2022-04-09
| ||
| 21:50 | Added an f-sanity test for the FSL_RC_LOCKED case of fcli_sync(). file: 4b9cbb2ba6 check-in: [dcadf02e6c] user: stephan branch: trunk, size: 80690 ) | |
| 21:36 | Moved the internal fsl_cx cache-clearing to the public fsl_cx_caches_reset() so that it can be used like fcli does (after shelling out an external app which might change the db). Fixed a deck F-card search bug introduced by the cache reset (thank goodness an existing unit test tripped over that). file: d03739c083 check-in: [84154036a0] user: stephan branch: trunk, size: 80468 ) | |
| 07:41 | Ported fsl_system() from fossil and added fcli_sync(). file: 59d8978ad3 check-in: [5fb49bf7c4] user: stephan branch: trunk, size: 80335 ) | |
| 06:49 | Ported in infrastructure for tokenizing PATH-style strings, added fsl_pathfinder_split() to quickly populate a fsl_pathfinder() from path strings, and added fcli_fossil_binary() to find the system's fossil binary. file: 5e35ae3038 check-in: [f15f9d8414] user: stephan branch: trunk, size: 80092 ) | |
|
2022-03-10
| ||
| 03:38 | For the fsl_ckout_rename()-related bits, rename the fsMvFile option to doFsMv. file: a011113131 check-in: [b85863a91d] user: stephan branch: trunk, size: 80039 ) | |
|
2022-03-09
| ||
| 04:04 | Completely reimplemented fsl_ckout_rename() using fossil(1)'s impl as a basis. The code is now arguably more legible and is more behavior-compatible with fossil. file: fe17deb060 check-in: [bc7bfb06e3] user: stephan branch: trunk, size: 80043 ) | |
|
2022-03-08
| ||
| 07:07 | Refactored fsl_ckout_rename() to use an options object and callback. Discovered a discrepancy in how renames are handled compared to fossil(1) when the source is a single dir name: fossil includes that dir name in the target whereas we do not. That might be subject to change, pending /chat discussions. file: 38d9727eee check-in: [80c84abba6] user: stephan branch: trunk, size: 81422 ) | |
| 05:03 | Initial (somewhat unsightly) impl of refactoring fsl_ckout_rename() to be able to handle origin filenames which are SCM-known directories. i.e. fsl_ckout_rename() can now move directory foo/bar, recursively, to a new directory. file: 5a24afee9d check-in: [52318ca911] user: stephan branch: trunk, size: 81052 ) | |
|
2022-03-07
| ||
| 01:44 | Added fsl_ckout_rename_revert() and unit tests. file: cf3b92f81e check-in: [aa34eddd93] user: stephan branch: trunk, size: 79475 ) | |
|
2022-03-05
| ||
| 10:09 | Added fsl_ckout_rename(), the core impl of a rename/move operation for SCM-managed files. file: 373265173c check-in: [4d2e43a8f6] user: stephan branch: trunk, size: 78954 ) | |
|
2022-02-05
| ||
| 04:45 | Got foci working and added a basic test for it in f-sanity.c. file: ec0b6483bc check-in: [c33ddf9c91] user: stephan branch: wip-foci, size: 76878 ) | |
|
2022-01-12
| ||
| 04:46 | Added another test for fsl_tkt_id_to_rids(). file: b200f92320 check-in: [a8d5615853] user: stephan branch: trunk, size: 75919 ) | |
|
2022-01-08
| ||
| 05:45 | Per /chat discussion, changed semantics of fsl_tkt_id_to_rids() to be able to handle an unambiguous ticket ID prefix. file: 3f7fba6381 check-in: [2bdb6c668f] user: stephan branch: trunk, size: 75809 ) | |
| 03:56 | Replaced the fundamentally flawed fsl_tkt_id_to_blob() with fsl_tkt_id_to_rids(). file: 511ea0d6a4 check-in: [7b2cbb1669] user: stephan branch: trunk, size: 75643 ) | |
|
2022-01-07
| ||
| 23:40 | Added fsl_deck_foreach(). file: c3902f0045 check-in: [0741f4d194] user: stephan branch: trunk, size: 75767 ) | |
| 19:06 | Added fsl_tkt_id_to_blob() for Brad. file: 049875a944 check-in: [7d64642d36] user: stephan branch: trunk, size: 74685 ) | |
|
2022-01-04
| ||
| 22:02 | Added fsl_randomness(). Changed fsl_deck_K_set() semantics such that a NULL ticket ID is interpreted as a new (random) ID. file: c86494207d check-in: [896ea2a01b] user: stephan branch: trunk, size: 73993 ) | |
|
2022-01-01
| ||
| 10:53 | fsl_db_open() no longer automatically applies the create-if-not-exists flag to in-memory or anonymous temp dbs, as this was at the root of a great deal of confusion the past 24 hours. Documented the propagation behaviour of the CREATE flag from an OPEN'd db to other dbs ATTACHed via that handle. See [https://sqlite.org/forum/forumpost/76963f0026b6b12a], and its top-level post, for more details. file: 9836b9a0d3 check-in: [ac15c8d1d4] user: stephan branch: trunk, size: 76615 ) | |
| 01:13 | More cleanups moving towards taking another whack at the fsl_cx db handle reorg. Added a test case to f-sanity.c demonstrating the ATTACH-cannot-create error (whereas the sqlite3 shell can create new files that way). file: 82e0d5d77c check-in: [51d4b05f5c] user: stephan branch: trunk, size: 76546 ) | |
|
2021-12-30
| ||
| 13:49 | Global config db now uses its own fsl_db handle, no longer ATTACHed with the repo/checkout handle. fsl_ckout_open_dir() now canonicalizes the passed-in directory name (simplifies usage). Added f-query -g/--config flag to query against the global config db. Various code-adjacent tweaks. file: 70ac79dafd check-in: [1d7a6d2b96] user: stephan branch: trunk, size: 73778 ) | |
| 05:37 | Replaced f-apps fcli_setup() calls with fcli_setup_v2(). file: 88e84bf2ca check-in: [313b59841e] user: stephan branch: trunk, size: 74526 ) | |
|
2021-12-21
| ||
| 20:38 | Corrected f-apps broken by previous checkin. file: 8f183f20f0 check-in: [5427afd00d] user: stephan branch: trunk, size: 74558 ) | |
| 14:54 | Added fsl_ckout_dbnames() and fsl_is_top_of_ckout(), prompted by recent fossil forum traffic. file: c2954d285c check-in: [7a9a409695] user: stephan branch: trunk, size: 74565 ) | |
| 12:34 | Expanded fsl_ckout_unmanage()'s callback interface to facilitate client-side unlinking of newly-unmanaged files. Added f-rm --unlink option. file: 7f4f504925 check-in: [9be228a605] user: stephan branch: trunk, size: 74714 ) | |
| 08:28 | Moved fossil-scm/fossil.h to ../libfossil.h so that client code can build from both the canonical tree and amalgamation using the same include name. file: 2f7970c694 check-in: [76d6359435] user: stephan branch: trunk, size: 74693 ) | |
| 04:26 | Found a not-too-terrible way of enabling partial builds, provided they're run from the appropriate subdir. Fixed assertions in f-sanity caused by __FILE__ now resolving differently and the Makefiles being reorged. file: 36d90ede26 check-in: [2a32d4ba97] user: stephan branch: toplevel-make, size: 74843 ) | |
|
2021-12-14
| ||
| 11:19 | Added fsl_file_copy(), fsl_symlink_read(), and fsl_file_isexec() as part of the merge op effort. Expanded fsl_file_tempname() to be able to accept a NULL list of directories in order to return just the name without a directory prefix. file: 5fcb9109a6 check-in: [6dca54dfde] user: stephan branch: trunk, size: 74715 ) | |
| 09:16 | Minor allocation optimization and tweak to how the filename prefix is applied in fsl_file_tempname(). file: 0bafff3c58 check-in: [b89b9e0058] user: stephan branch: trunk, size: 73644 ) | |
| 08:55 | Ported in a variant of the temp-filename generation bits from fossil because it's needed for the next merge steps. file: 1697858823 check-in: [dd3acff665] user: stephan branch: trunk, size: 73645 ) | |
| 04:17 | Tweaks to the return semantics of fsl_db_exec() and fsl_stmt_step(). Doesn't/shouldn't affect any existing code. Added a test to ensure that fsl_stmt_step() behaves as expected in the face of a RETURNING clause. file: a48dc2d28c check-in: [ad7ef26207] user: stephan branch: trunk, size: 73078 ) | |
|
2021-12-10
| ||
| 12:11 | As a special case, fsl_file_simplify_name() now always resolves to '/' if its input resolves to that, regardless of whether or not it is told to retain a trailing slash. The alternative would be to resolve to an empty string if it were told to strip the trailing slash for that case. file: fff593df03 check-in: [3ad71dbc66] user: stephan branch: trunk, size: 72041 ) | |
| 11:35 | Fixed bug which caused fsl_file_simplify_name() to not honor its trailing backslash policy. file: 46bdf98a4f check-in: [14fffb4e82] user: stephan branch: trunk, size: 72091 ) | |
|
2021-12-03
| ||
| 03:52 | Experimentally change the journal_mode to OFF for the main (temp) DB, noting that we don't actually store anything in that db handle - it's only used as an ATTACH point for the other dbs. Added a note about being able to rename the MAIN db, which might be useful in eliminating the current middle-man MAIN db (barring one corner case for the global config db). file: 6d43ca3b21 check-in: [76d7f8f4eb] user: stephan branch: trunk, size: 71491 ) | |
|
2021-11-20
| ||
| 10:16 | Added semantics for safely directing fsl_buffer instances to use "external" memory (owned elsewhere, possibly const), using copy-on-write if any API would modify such buffers. This mimics a feature of fossil(1)'s Blob class but implements it differently. Applied this feature to low-hanging fruit in fsl_repo_rebuild(), reducing the number of allocations for rebuilding the libfossil repo by 10048 (not coincidentally exactly the same as the number of deltas in the repo). file: 9244562ca3 check-in: [d6ace632d7] user: stephan branch: trunk, size: 71367 ) | |
|
2021-11-19
| ||
| 05:50 | Moved fsl_repo_rebuild() into the public API and added some new state to fsl_rebuild_step and new metrics to f-rebuild. Rebuild adds a few more entries in the event table than fossil does (investigation is TODO) but otherwise seems to behave. file: dd15b2b733 check-in: [c389ae9908] user: stephan branch: trunk, size: 69908 ) | |
|
2021-11-16
| ||
| 05:40 | Cosmetic test header tweak. file: 5b233bc37c check-in: [8a6835b3d9] user: stephan branch: trunk, size: 69924 ) | |
|
2021-11-13
| ||
| 04:13 | Fixed HTML decoding (%T appendf specifier) range problem reported at [https://fossil-scm.org/forum/forumpost/cb564acd01] and fix adjacent string-length bugs. file: 45a7a4a329 check-in: [70f66a328d] user: stephan branch: trunk, size: 69959 ) | |
|
2021-11-10
| ||
| 06:00 | Added fsl_configs_XYZ() APIs, which provided features similar to fsl_config_XYZ() but enable checking multiple config sources in an order specified by the caller. file: 45d01ed7e2 check-in: [8d7b8f50c4] user: stephan branch: trunk, size: 69508 ) | |
|
2021-11-09
| ||
| 14:27 | Tracked down and documented the locking error Mark was experiencing: we cannot detach while any stepped-but-not-reset-or-finalized statements are active. file: 9c0751a4a0 check-in: [3bff6eddc1] user: stephan branch: trunk, size: 68268 ) | |
| 13:29 | Linked list iteration fixes for the previous commit. file: f48274ba47 check-in: [c9b2992de4] user: stephan branch: trunk, size: 68006 ) | |
| 12:44 | Removed incorrect if() blocks which caused repo/ckout/config db strings to not get cleared in some cases. file: f43a264508 check-in: [09a6b48de5] user: stephan branch: trunk, size: 67961 ) | |
|
2021-11-08
| ||
| 10:20 | fsl_config_open() is now a no-op if passed a NULL/empty file name and a global config is already opened. Reordered some internals calls to hit expected if/else cases earlier. file: 98af9e81b4 check-in: [4e81e07c57] user: stephan branch: trunk, size: 67484 ) | |
|
2021-11-02
| ||
| 23:52 | Mass renaming of many internal APIs from fsl_X to fsl__X (two underscores) and several adjacent const cleanups. file: bf2bb4b9fe check-in: [83917b7b45] user: stephan branch: trunk, size: 67465 ) | |
|
2021-10-22
| ||
| 02:48 | Refactored appendf %q/%Q/%B to use a static buffer instead of dynamic allocation. This saves counting the output length in advance and allocation of that output buffer but requires one call to the callback per 512-ish bytes of the string. file: 3bcd5e7db2 check-in: [5739c3cbd3] user: stephan branch: trunk, size: 67458 ) | |
|
2021-10-21
| ||
| 20:42 | Added %!Q form of %Q appendf modifier to take the place of the undocumented/unused %w: wraps result in double quotes instead of single, for use with identifiers. file: b41a90d2c4 check-in: [d92aae901d] user: stephan branch: trunk, size: 67441 ) | |
| 04:41 | Reduced fsl_buffer_reserve() calls by about 90% for f-parseparty (2.8m down to 300k), largely via addition of a db-level buffer for cached SQL preparation. Added a simpl hash to cached fsl_stmt instances to speed up fsl_db_prepare_cached() and reduce fsl_buffer_cmp() calls by 90%+. Record how many times any given caches fsl_stmt is reused and emit that via the new fcli_dump_stmt_cache() function. This reduces f-sanity allocations from 39k to 29k but slightly increases total allocated memory. file: 6bb05e3915 check-in: [c812573f26] user: stephan branch: trunk, size: 67401 ) | |
|
2021-10-20
| ||
| 13:11 | Removed fsl_deck::uuid and the fsl_deck_parse() step which tries to map its inputs to an existing db record. While convenient for downstream code, it's a huge performance hit. Checking in to a branch for f-parseparty speed testing compared to the current trunk. file: 57945ed47b check-in: [1dc391289c] user: stephan branch: remove-deck-uuid, size: 67845 ) | |
|
2021-10-19
| ||
| 09:05 | Added the FSL_GLOB() SQL UDF and infrastructure to support it, to enable operations which make use of the configurable glob lists to access those via SQL. file: 76447184b5 check-in: [496acd50a1] user: stephan branch: trunk, size: 67813 ) | |
|
2021-10-11
| ||
| 02:53 | Minor internal doc and test updates. file: f06a886756 check-in: [7933b213f4] user: stephan branch: trunk, size: 67073 ) | |
|
2021-10-10
| ||
| 13:24 | Minor cleanups in the new f-sanity.c %#-related tests. file: 166af32c37 check-in: [b380db5e3f] user: stephan branch: trunk, size: 67051 ) | |
| 13:09 | Added '#' format modifier for fsl_appendf() %s, which causes it to count width and precision in UTF8 characters instead of bytes. This allows the split-mode diff renderer to measure its columns in characters instead of bytes and avoid truncating multibyte characters. file: 011b3b183e check-in: [4432b1f97a] user: stephan branch: trunk, size: 67524 ) | |
|
2021-10-02
| ||
| 18:39 | Expanded fsl_vpath_shortest_store_in_ancestor()'s interface a bit. file: 74886bdfaf check-in: [8ad0b44715] user: stephan branch: trunk, size: 66161 ) | |
| 18:12 | More work on the annotate interface, plus far too many nearby-yet-unrelated tweaks such as costness changes. file: ed8ea35946 check-in: [b601f20cff] user: stephan branch: trunk, size: 65932 ) | |
|
2021-09-26
| ||
| 16:32 | Ported over, but have only lightly tested, fossil's JSON-format diff builder. file: 49e2df8b61 check-in: [14267d8d3a] user: stephan branch: trunk, size: 64942 ) | |
|
2021-08-24
| ||
| 17:12 | Enhance repo fingerprint check to cover old repositories. This commit adds an extra check to match repository fingerprints using the original algorithm that some old repositories in the wild may need. file: 75b603f65d check-in: [043c2667c9] user: mark branch: trunk, size: 64881 ) | |
|
2021-08-09
| ||
| 20:07 | Added fcli_progname() as a portable substitute(?) for BSD's getprogname(). file: 2fc0a7168b check-in: [3d0057a245] user: stephan branch: trunk, size: 64874 ) | |
|
2021-04-16
| ||
| 16:24 | Added a negative test for the repo/checkout fingerprint check. file: 45d5fbcd7d check-in: [27433d3e1c] user: stephan branch: trunk, size: 64814 ) | |
| 16:17 | Implemented repo/checkout fingerprint check and added a check for it in f-status, f-timeline, and f-ci (failing fatally on a mismatch, instead of just warning like fossil does). We now update the fingerprint in the ckout db whenever we update the ckout version. We do not yet have an automatic recovery mechanism analog to fossil's vfile.c:vfile_rid_renumbering_event(). file: 799bfe2c6e check-in: [8c9cf48702] user: stephan branch: trunk, size: 64456 ) | |
|
2021-04-14
| ||
| 04:10 | Renamed fsl_cx_forbids_delta_manifests() to fsl_repo_forbids_delta_manifests() because it's really a repo-level setting. file: 3dc3097ed7 check-in: [755c059371] user: stephan branch: trunk, size: 63869 ) | |
| 03:53 | Renamed fsl_cx_forbid_delta_manifests() to fsl_cx_forbids_delta_manifests() so that it doesn't sound like a setter function. file: 2f9554480c check-in: [7501bb92f9] user: stephan branch: trunk, size: 63865 ) | |
| 03:38 | fsl_deck_save() now honors the forbid-delta-manifests policy, rejecting any delta manifests. fsl_deck_derive() now converts any delta manifest to a baseline in order to avoid certain corner cases. Added some f-sanity tests for these new cases. file: 3b5efa6c55 check-in: [ea6074b8ad] user: stephan branch: trunk, size: 63863 ) | |
|
2021-04-13
| ||
| 05:28 | Removed fsl_deck::error, relying on fsl_deck::f::error instead. Added fsl_deck_F_set() in prep for APIs to simplify creating new checkins without requiring a checkout. Fixed a U-card validation bug in fsl_deck_output(). file: 708bc11853 check-in: [f839ab3edd] user: stephan branch: deck-reworking, size: 65753 ) | |
|
2021-04-12
| ||
| 15:48 | Fixed, i believe, the checkin process not properly tagging the new leaf, caused by swapped handling of the is-it-a-leaf result. Need to make a commit to actually test it, though. Edit: worked :). file: 33715199dd check-in: [2791e665cc] user: stephan branch: trunk, size: 65038 ) | |
|
2021-04-10
| ||
| 11:14 | API doc cleanups, removed some extraneous is-NULL checks on function arguments, and added a couple assert()s to f-sanity.c. file: 12ee0fa0e1 check-in: [e314f2f9df] user: stephan branch: trunk, size: 64847 ) | |
|
2021-04-05
| ||
| 10:23 | Minor generic cleanups in fcli and related app-side code. file: db05e51183 check-in: [c62ffa1046] user: stephan branch: trunk, size: 64740 ) | |
|
2021-04-04
| ||
| 05:07 | f-apps: modernized/simplified usage of exit-on-help. Removed some bogus CLI flag entries from f-config. file: 503c044969 check-in: [1d3192c82b] user: stephan branch: trunk, size: 64729 ) | |
| 04:58 | f-apps: use fcli_cx() instead of accessing fcli.f directly. file: 0b2c220071 check-in: [9c7cf37828] user: stephan branch: trunk, size: 64779 ) | |
|
2021-03-29
| ||
| 02:39 | Internal tweak in the fsl_db API to take advantage of SQLITE_PREPARE_PERSISTENT. Doc fix in fsl_buffer_stream_lines(). file: 78aab3c876 check-in: [230e3ff6f6] user: stephan branch: trunk, size: 64734 ) | |
|
2021-03-27
| ||
| 15:14 | Doc updates and added another fsl_checkin_dequeue() test. file: 970d5517a1 check-in: [9c2f72f751] user: stephan branch: trunk, size: 64736 ) | |
| 15:01 | Fixed a test assert() broken by the previous checkin. file: 1f586cabad check-in: [1bc0bdd204] user: stephan branch: trunk, size: 64583 ) | |
| 14:54 | Renamed and refactored fsl_checkin_enqueue() and fsl_checkin_dequeue() to use an options object and altert the user about exactly which files are enqueued/dequeued via a callback. file: acf0bb9730 check-in: [8abd63ab1c] user: stephan branch: trunk, size: 64565 ) | |
| 12:02 | Minor API cleanups. file: cab0f0f80b check-in: [259329f627] user: stephan branch: trunk, size: 63901 ) | |
|
2021-03-24
| ||
| 15:05 | Refactored how the checkin manifest R-card is calculated, to simplify recalculating and verifying it from higher-level code. Renamed f-mfparse to f-aparse. Renamed fsl_hash_types_t to fsl_hash_types_e for naming consistency. file: 5df8e8e955 check-in: [81cbf6794f] user: stephan branch: trunk, size: 63895 ) | |
|
2021-03-23
| ||
| 00:49 | Refactored the rm op to use a callback to report removals, similar to add and revert. Renamed fsl_ckout_file_add/rm... to fsl_ckout_manage/unmanage... Sidebar: used f-revert and the stash to recover from a fatal perl-regex refactoring mishap while working on this. file: a0502b6996 check-in: [09300fddd6] user: stephan branch: trunk, size: 63852 ) | |
|
2021-03-22
| ||
| 19:38 | Fixed a test assert broken by the previous commit. file: c3d804cc15 check-in: [541e4fd2d7] user: stephan branch: trunk, size: 63470 ) | |
| 10:01 | Changed the signature of fsl_ckout_file_rm(). file: 0d4ca2fb34 check-in: [356e3783c9] user: stephan branch: trunk, size: 63360 ) | |
|
2021-03-15
| ||
| 12:12 | Swapped order of 2 parameters to fsl_confirm_callback_f - just seems more consistent that way. file: e237dbb50c check-in: [26191854cd] user: stephan branch: trunk, size: 63303 ) | |
| 11:14 | Extended the fsl_confirmer API to be able to ask, and get responses to, simple multiple-choice questions. This will be needed, e.g., for performing an update operation when multiple versions are equally viable candidates. file: 41c65e4e3d check-in: [ccc0fef970] user: stephan branch: trunk, size: 63315 ) | |
| 05:53 | fsl_appendf(): ported in comma-separated decimals from [fossil:2cdbdbb1c9b7ad2b]. file: d1a18b626f check-in: [5f6954fc89] user: stephan branch: trunk, size: 62765 ) | |
| 04:25 | Globally renamed _checkout to _ckout, as some of these names are getting a bit long. file: 4b1061b5bc check-in: [bc9e88ee2c] user: stephan branch: trunk, size: 62645 ) | |
|
2021-03-14
| ||
| 21:23 | Moved some config-settings-related stuff out of the public API for the time being. file: 519f3fc79f check-in: [2c6c7eda48] user: stephan branch: trunk, size: 62756 ) | |
| 15:50 | Considerable hammering on the config db APIs to make handling of versionable settings work like the other modes. Eliminated the versionable-specific config get/set APIs. file: fb11d6024f check-in: [a2cd19f640] user: stephan branch: trunk, size: 63229 ) | |
|
2021-03-13
| ||
| 06:17 | Minor fsl_cx_confirmer() API changes. Removed the extraneous xvfile temp table used by the checkout process and instead use a dual-versioned vfile table. file: 12ec56d3a4 check-in: [e81048d148] user: stephan branch: trunk, size: 62365 ) | |
| 05:27 | Several minor changes moving us slightly closer to be able to add update support. file: 3c2906d1cd check-in: [1329430a6a] user: stephan branch: trunk, size: 62250 ) | |
| 04:10 | Added total/current file counters to fsl_repo_extract_state so that clients can calculate progress percentage. file: d8d943e7af check-in: [356da76d92] user: stephan branch: trunk, size: 62395 ) | |
| 01:09 | Swapped out f-s2sh's shell.c with shell2.c (s2sh2 instead of s2sh classic). file: 44b596dbc3 check-in: [e20cc9720f] user: stephan branch: trunk, size: 62303 ) | |
|
2021-03-12
| ||
| 19:56 | Commented out an assert which prohibits running f-sanity on a non-leaf build. file: 47d2fa55df check-in: [f2f1612a0c] user: stephan branch: trunk, size: 61797 ) | |
| 13:48 | Minor API renaming, for consistency. file: 46963fec0d check-in: [f2fc1f3efd] user: stephan branch: trunk, size: 61795 ) | |
| 13:06 | Moved some code around and renamed a struct member for consistency with similar structs. file: d8bc3047fa check-in: [9bd1cfea4b] user: stephan branch: trunk, size: 61786 ) | |
|
2021-03-11
| ||
| 23:05 | Doc updates. Changed default checkin deltaPolicy to 0. Corrected a falsehood about Chuck Norris. Refactored checkout's rm-empty-dirs bits into fsl_rm_empty_dirs(). Fixed mis-reset of fsl_checkout_file_add_opt::counts. Minor malloc optimization in the post-checkout file removal bits. file: dcaecb94f0 check-in: [fd313baef4] user: stephan branch: trunk, size: 61779 ) | |
| 18:56 | Minor doc updates and added a couple TODOs related removing now-unmanaged files after an rm op. file: c1df137330 check-in: [419099b063] user: stephan branch: trunk, size: 61397 ) | |
| 18:15 | Ported f-add's dir-recursion and ignore-glob capabilities into fsl_checkout_file_add() and expanded that function's feature/option set considerably. file: 1b820af998 check-in: [61d3e64e6f] user: stephan branch: trunk, size: 61399 ) | |
|
2021-03-10
| ||
| 17:36 | Minor fcli API usage modernization. file: 95051676d8 check-in: [c04ce8aaf1] user: stephan branch: trunk, size: 61147 ) | |
| 16:41 | Refactored fsl_dircrawl_f() to take a fsl_dircrawl_state struct as an argument and added current recursion depth to the passed-on state. file: d5e67e904f check-in: [4a70a0dd17] user: stephan branch: trunk, size: 61185 ) | |
| 15:47 | Added fsl_dircrawl() for recursively crawling directories and added recursive dir and ignore-glob support to f-add. fsl_buffer_reuse() now returns its argument. file: ef88424c9c check-in: [c1199e807f] user: stephan branch: trunk, size: 61265 ) | |
| 08:25 | Renamed the 'F2' F-card temporary porting name back to F. file: 72689cde0f check-in: [63e886fff0] user: stephan branch: f-card-array, size: 60640 ) | |
| 08:06 | New F-card list model is working but the savings for it are underwhelming to say the least. At most, 10-15% alloc count savings on f-parseparty runs, with a slightly higher RAM total. Disabled delta checksum self-test, as it's a big time hit and fossil also disables that by default. (Edit: but this changes cuts the time needed for f-parseparty to process the core fossil repo by a bit more than half. It's still dog slow compared to a fossil rebuild, though.) file: c417ca4876 check-in: [2440c84b01] user: stephan branch: f-card-array, size: 60643 ) | |
|
2021-03-09
| ||
| 06:01 | Minor confirmer cleanups and docs. file: e4952fad61 check-in: [d58d30707f] user: stephan branch: confirmer-co, size: 60670 ) | |
| 05:17 | It seems we just about have the confirmer bits working for f-co. Had to change the semantics of --keep, but the older semantics feel really weird. Needs a bit more testing. file: 6eb75ebb57 check-in: [ed0fa2b56a] user: stephan branch: confirmer-co, size: 60680 ) | |
| 00:13 | Minor tweaks of the confirmer bits. file: 596bf229d9 check-in: [13fb58bfdd] user: stephan branch: confirmer-co, size: 60018 ) | |
|
2021-03-08
| ||
| 23:42 | Optimizations in fsl_repo_checkout() to reduce fsl_content_get() calls, only writing files which vfile says have changed. Cuts alloc counts by approx. 3-4x and memory cost by 5-8x in basic tests. f-co now has a blank status square for files which were not modified, to make it easier to spot the real changes. file: b83d86260a check-in: [735e9e32ab] user: stephan branch: confirmer-co, size: 59910 ) | |
| 13:23 | Renamed FSL_CANSWER_xxx to FSL_CRESPONSE_xxx. Changed some queries from cached to non-cached. Added /*__func__()*/ to the end of many queries to make them easy to track down via sqlite trace output. file: 776389ec20 check-in: [c8b25fe30f] user: stephan branch: trunk, size: 59888 ) | |
| 11:14 | Initial go at a new interactive confirmation API (not yet connected to checkout op). Removed a functionally-duplicated API. Added __func__() to some cached SQL statements in order to simplify tracking their origin (though this keeps those statements from being reused across multiple functions). file: 3a229c3220 check-in: [9a6bb6834f] user: stephan branch: trunk, size: 59590 ) | |
| 03:48 | Resolved an intermittently flaky sanity check which relied on specific timing. Added a couple fsl_cx_stat2() tests. file: 8873c22578 check-in: [e6cab89089] user: stephan branch: trunk, size: 58133 ) | |
|
2021-03-07
| ||
| 09:43 | Renamed a cryptically-named struct member from fc to fCard. file: f1ff5b8d63 check-in: [ae428e47b0] user: stephan branch: trunk, size: 57525 ) | |
|
2021-03-05
| ||
| 07:43 | More char-to-bool conversions. Moved fsl_stmt_bind_fmt() into the public API and added a basic test for it. file: fed5e09f07 check-in: [d386e0d741] user: stephan branch: trunk, size: 57519 ) | |
|
2021-03-04
| ||
| 22:46 | Refactored fsl_repo_checkout() to take a different options type and callback, and provided that callback with more interesting state. Restored f-open functionally which was disabled due to the lack of that state. file: 0f81af7098 check-in: [ea7a0da420] user: stephan branch: trunk, size: 57027 ) | |
| 18:19 | Refactored fsl_repo_extract() to take a struct and added an option to specify whether or not the file content should be extracted. Fixed fsl_mkdir_for_file() for 1-letter filenames. file: 086f6d4913 check-in: [0e31c5674e] user: stephan branch: trunk, size: 57019 ) | |
|
2021-03-03
| ||
| 16:44 | Restored f-sanity's -1 flag. file: 5ce873ee76 check-in: [9fc41dba87] user: stephan branch: trunk, size: 56865 ) | |
| 16:41 | Renamed fsl_path API to fsl_vpath to avoid any confusion with fsl_pathfinder. file: 1841cde4d2 check-in: [a8d1262cc1] user: stephan branch: trunk, size: 56838 ) | |
| 11:42 | Renamed fsl_buffer_reset() to fsl_buffer_reuse() to try to reduce the confusion between its semantics contrasted with fsl_buffer_clear(). file: 59f0537cf0 check-in: [0584c1b6e2] user: stephan branch: trunk, size: 56824 ) | |
|
2021-03-01
| ||
| 16:21 | Arguably a typo fix in the new header. Thank goodness for stream editors. file: 9c9b4a4c77 check-in: [386316db07] user: stephan branch: trunk, size: 56824 ) | |
| 15:46 | Replaced the overwhelming majority of license headers with the new project-standard one. Left a few as they were for files which were imported essentially unchanged from Fossil or, in the case of SHA1/SHA3/MD5 bits, other 3rd-party sources. file: 3c486680c8 check-in: [fa5fb24496] user: stephan branch: trunk, size: 56816 ) | |
|
2021-02-28
| ||
| 17:10 | Started porting in fossil's merge algorithm. It looks like the support algos are all in place, just the main merge is missing. First some sleep, though. file: 4faa6ce464 check-in: [2cfc9d6ae9] user: stephan branch: trunk, size: 57062 ) | |
| 04:57 | fcli now uses its own FCLI_RC_HELP, instead of hijacking FSL_RC_BREAK, to indicate that --help was triggered. file: a1dfd771a9 check-in: [d0edf4583f] user: stephan branch: trunk, size: 56363 ) | |
|
2021-02-27
| ||
| 14:29 | Finished porting the f-apps to the new CLI handling bits. Replaced fcli::appHelp with what was formerly fcli::appHelp2. file: af10091db3 check-in: [ca464b5b74] user: stephan branch: trunk, size: 56225 ) | |
| 10:43 | More CLI flags handling changes. Completely re-did how f-tag handles its arguments. fcli --help now only shows global options when using --verbose. file: 215e785d12 check-in: [75e5fd2467] user: stephan branch: trunk, size: 56226 ) | |
|
2021-02-26
| ||
| 14:04 | Reworking how fcli flag handling is done. file: 9b1fbef7d7 check-in: [dad2f76f30] user: stephan branch: fcli-flag-rework, size: 56167 ) | |
|
2021-02-24
| ||
| 20:41 | Removed a now-incorrect comment. file: 9888ba52ce check-in: [ce331bf419] user: stephan branch: trunk, size: 56161 ) | |
| 19:34 | fsl_appendf() %j now emits "null" (always without quotes) when passed a NULL pointer. file: 9e5b551dfc check-in: [b1e8da4fa7] user: stephan branch: trunk, size: 56274 ) | |
| 09:28 | Removed some dead code. Added %j (JSON string) encoding to fsl_appendf() using a streaming approach (no allocation). file: 78314b44c9 check-in: [a008179c2d] user: stephan branch: trunk, size: 56213 ) | |
|
2021-02-21
| ||
| 15:10 | Renamed FSL_CATYPE... (CA=Control Artifact) to FSL_SATYPE... (SA=Structural Artifact) so that they correspond to the terms as set out by the fossil file format docs. file: 5d6dc6612a check-in: [8728796601] user: stephan branch: trunk, size: 54907 ) | |
|
2021-02-18
| ||
| 05:11 | Replaced the extraneous fsl_double_t typedef with double. file: ae137fa947 check-in: [b359548620] user: stephan branch: trunk, size: 54907 ) | |
|
2021-02-15
| ||
| 03:24 | Renamed src/fsl_XYZ.c to src/XYZ.c. f-checkin vfile dump now includes renames. file: fcbe1ed97e check-in: [ed3183170a] user: stephan branch: trunk, size: 54955 ) | |
| 00:21 | Reimplemented fsl_config_file_reset() to account for schema prefixes. fsl_file_size() now returns type fsl_int_t instead of fsl_size_t, to simplify the -1-on-error return checking. Added fsl_config_global_preferred_name(), which performs the global config file lookup algo used by fossil, and changed fsl_config_open() to use that. file: b06343772d check-in: [8837671e83] user: stephan branch: trunk, size: 54979 ) | |
|
2021-02-12
| ||
| 22:09 | libfossil is now C99, rather than C89, per discussion at [https://fossil.wanderinghorse.net/r/libfossil-forum/forumpost/e02ff0e8d0]. fsl_int{16,32,64}_t have been replaced by the standard uint{16,32,64}_t, FSL_xxx_T_PFMT/SFMT replaced with PRIx32 and friends, and auto.def now checks for -std=c99 capability (but that check could probably be done differently/improved). fsl_int_t and fsl_uint_t are retained, as they're more about documentation/intent than fixed sizes. file: 98c259d44b check-in: [ee070353b9] user: stephan branch: trunk, size: 54822 ) | |
|
2021-02-11
| ||
| 18:38 | Moved around and tinkered with some of the hash policy code. Added f-new --hash option to set the policy when creating a new repo. file: 9306a88aac check-in: [dec0670fb2] user: stephan branch: trunk, size: 54876 ) | |
|
2021-02-09
| ||
| 00:18 | Updated license text in almost all C/H to claim copyright while attributing all of the files as heavily derived from DRH's work. file: 2faf1b25a7 check-in: [631fb3f69a] user: stephan branch: trunk, size: 54887 ) | |
|
2015-12-28
| ||
| 21:47 | fixed broken (swapped) logic in fsl_rid_is_leaf(). file: 27e90e16f8 check-in: [2273183275] user: stephan branch: trunk, size: 54849 ) | |
|
2014-12-04
| ||
| 15:43 | Latest s2, fixed ticket [dee8469f4b] by removing the (unused) chroot() feature from fsl_chdir(), accommodated an older libf API change in the th1ish bindings. file: 0bfa946c3f check-in: [09fb223f65] user: stephan branch: trunk, size: 54777 ) | |
|
2014-10-25
| ||
| 09:51 | merged in dave's branch, fixed a merge conflict, made f-sanity not fail a specific test fatally because it rightfully fails on a merge-modified checkout. file: ac8b8ef783 check-in: [8a439f91d5] user: stephan branch: trunk, size: 54783 ) | |
|
2014-10-18
| ||
| 11:00 | Factored out the find-a-db part of fsl_checkout_open_dir() to fsl_checkout_db_search() and added option to search parent dirs or not, both in support of up-coming code. file: 542729988f check-in: [10f613f805] user: stephan branch: trunk, size: 54676 ) | |
|
2014-10-02
| ||
| 03:12 | amalgamation support for msvc; #undef'ed a couple macros that collided with Windowsian things; added a project for my testing porpoises; put in a conditional compile switch in f-sanity.c to support an amalgamation build with ease. file: 53222ee4d4 check-in: [0d2451c9c2] user: dave branch: dave, size: 54675 ) | |
|
2014-09-30
| ||
| 15:35 | minor; workaround fact that VC6 doesn't know how to convert a uint64_t to a double, but it does know how to convert a int64_t to a double; haha. I didn't bother to put it under conditional compilation, since it is harmless on other platforms (and you can't get enough precision out of a double to ever have it matter about the highest bits). file: 7e9746f2cd check-in: [4627c84c02] user: dave branch: feech-dave-msvcsupport001, size: 54606 ) | |
| 13:06 | corrected a bug in test_fs_cx_stat() that I introduced by commenting out an ureferenced local, simply to suppress a warning. It is unreferenced in Win32 builds, but it is used in Linux, so I uncommented it out, and I will just disregard the warning in Win32, since this is a test app anyway. Maybe I'll fix it better later with a conditional compile, or something, but it's pretty innocuous. file: e908b727da check-in: [4814bd4e5c] user: dave branch: feech-dave-msvcsupport001, size: 54591 ) | |
| 12:50 | a peculiarity of Microsoft's AMD-64 compiler is that __FILE__ resolves to a relative path correct at compile-time. but incorrect at runtime if you are running in a different directory. (The x86 compiler resolves to fully-qualified paths, which can create a different problem if you were on a different machine, but these are just test apps anyway). The net result was to cause tests to fail when __FILE__ was used as a object of the test. There were two test apps that did this, and they were modified to use a manhandled self name in the case of microsoft's compilers. file: ce68eded52 check-in: [9834d60958] user: dave branch: feech-dave-msvcsupport001, size: 54602 ) | |
|
2014-08-26
| ||
| 17:26 | accommodated API changes. file: b6347341d9 check-in: [acc01d60c7] user: stephan branch: trunk, size: 53865 ) | |
|
2014-05-29
| ||
| 16:56 | Portability fixes (broken char signedness assumptions) for Raspberry Pi. file: f388d17c39 check-in: [9fb7bcf2a9] user: stephan branch: trunk, size: 53795 ) | |
|
2014-05-01
| ||
| 14:01 | path test code tinkering. time for a break. file: 7721694fa4 check-in: [dad7c554ab] user: stephan branch: trunk, size: 53751 ) | |
| 12:42 | More work on the path porting. Related refactoring to make some more bits visible. file: 22f56d576f check-in: [35cef04dcd] user: stephan branch: trunk, size: 53616 ) | |
|
2014-04-22
| ||
| 20:11 | Added an sqlite3 commit hook to abort the app if COMMIT is used while an API-controlled transaction is in progress. Added a fsl_str_is_date2() test which should have been in the previous commit. file: e3e2132706 check-in: [83c08406ea] user: stephan branch: trunk, size: 51912 ) | |
|
2014-04-06
| ||
| 17:44 | moved a test. file: 03904da0c8 check-in: [c779eec8e4] user: stephan branch: trunk, size: 51548 ) | |
| 13:15 | Added fsl_repo_import_blob() fsl_repo_import_blob(). One of the tests may fail first after the commit... we'll see if there's a follow-up commit to fix it. file: 0897ed8f7f check-in: [4a39e3e670] user: stephan branch: trunk, size: 51546 ) | |
|
2014-04-03
| ||
| 17:02 | Renamed fsl_glob_list_clean() to fsl_glob_list_clear() for consistency with similar APIs. file: ee4c61279f check-in: [1075d15a5f] user: stephan branch: trunk, size: 50883 ) | |
| 16:43 | Renamed fsl_repo_filename_fnid() to fsl_repo_filename_fnid2(), kept it internal, and added fsl_repo_filename_fnid() as a simplified form safe for general-purpose client-side use. file: ad115241c5 check-in: [f18878c6b4] user: stephan branch: trunk, size: 50883 ) | |
|
2014-03-31
| ||
| 17:35 | Removed the reportDeletions option from fsl_repo_extract(). Cuts the code size in half and does away with a number of corner cases and inconsistencies in the reporting of deletions. Deleted files are no longer reported by that routine. file: c6da0c0d71 check-in: [63d94544ed] user: stephan branch: trunk, size: 50881 ) | |
| 16:36 | Fixed a mis-free() in fsl_repo_extract(). file: 94206971ea check-in: [f0b9e29b44] user: stephan branch: trunk, size: 50907 ) | |
|
2014-03-30
| ||
| 10:37 | Added caching of versionable config results but then removed it because it introduces inconsistencies in string ownership vis-a-vis non-versioned config. Various little cleanups and additions along the way. file: 115f3b974a check-in: [48eec586a9] user: stephan branch: trunk, size: 50901 ) | |
|
2014-03-29
| ||
| 10:09 | Introducing the highly arguable fsl_simplify_sql() utility routine. file: 3ac193dc13 check-in: [7b0022b9a5] user: stephan branch: trunk, size: 50885 ) | |
|
2014-03-28
| ||
| 15:27 | Added infrastructure for the various xxx-glob config options. fsl_cx now caches them when a repo/checkout is opened and provides APIs for querying them. file: d79506c968 check-in: [aa8f7bd1be] user: stephan branch: trunk, size: 50425 ) | |
|
2014-03-27
| ||
| 20:15 | Moved versionable settings tests to the standard test battery. file: 44a38dd4b5 check-in: [9f64472a1d] user: stephan branch: trunk, size: 49819 ) | |
| 20:10 | Added basic infrastructure for reading versionable settings. file: 6275cd0ec4 check-in: [5f501363c4] user: stephan branch: trunk, size: 49819 ) | |
|
2014-03-26
| ||
| 14:29 | Added an assertion. file: 4afa7cd2dc check-in: [03019c5871] user: stephan branch: trunk, size: 48931 ) | |
| 14:27 | Added --cached-sql flag to dump cached statements at end of tests. file: 57b54cddfa check-in: [01e5816534] user: stephan branch: trunk, size: 48913 ) | |
|
2014-03-25
| ||
| 18:16 | A big round of renaming and touchups. More tinkering with the F-card generation. Seems to work how i want it now. This commit is partially a test of said functionality... seems we are not quite at a delta/baseline rollover point. file: 6400abcb7f check-in: [7a0759a0a4] user: stephan branch: trunk, size: 48520 ) | |
|
2014-03-17
| ||
| 21:12 | Ported in fsl_gradient_color(). Added fsl_rgb_encode/decode(). Minor comment changes in f-tag. file: 93cf8a20d5 check-in: [a508afba51] user: stephan branch: trunk, size: 48272 ) | |
|
2014-03-16
| ||
| 17:28 | Discovered a crash case involving ordering of the sanity tests. To investigate later. file: d2b9411515 check-in: [c0b8ce3c1d] user: stephan branch: trunk, size: 47996 ) | |
|
2014-03-15
| ||
| 17:28 | Tweaked some test code. file: 83ff94ecf1 check-in: [439762f205] user: stephan branch: trunk, size: 47898 ) | |
| 15:39 | Fixed the quirk of fsl_checkout_file_rm() caring whether a dir name ends with a slash or not. file: ae4044db14 check-in: [9664c64ba3] user: stephan branch: trunk, size: 47898 ) | |
| 13:35 | Minor cleanups, code consolidation/removal. file: 28c3bdb828 check-in: [a92bffdddf] user: stephan branch: trunk, size: 47658 ) | |
|
2014-03-14
| ||
| 14:25 | a long morning of refactoring and cleanups. file: 6a4f261c87 check-in: [c71f986d35] user: stephan branch: trunk, size: 47552 ) | |
| 11:10 | another round of minor cleanups. file: 35522e9ee3 check-in: [7e8d0ecfe2] user: stephan branch: trunk, size: 47177 ) | |
|
2014-03-13
| ||
| 19:42 | accommodated internal restructurings. file: 2bc9193aa0 check-in: [4740bce980] user: stephan branch: trunk, size: 48263 ) | |
|
2014-03-12
| ||
| 19:44 | Swaped fsl_checkout_version_info() arg order, for consistency. More work on the checkin bits. file: 6270f886ec check-in: [ccb9a1e941] user: stephan branch: trunk, size: 48264 ) | |
|
2014-03-08
| ||
| 22:21 | More work on the checkin bits. Reimplemented how baseline manifests get their F-cards calculated. Not yet sure how best to implement a delta manifest. file: de88fb3485 check-in: [1cd70042f1] user: stephan branch: trunk, size: 48264 ) | |
| 18:29 | Lots more tinkering with the checkin stuff. About to try a different F-list generation algo, though, because the ported-in one has historical baggage due to the enforced ordering of names in how it generates the manifest. file: d982afe091 check-in: [1a0ee6b693] user: stephan branch: trunk, size: 48039 ) | |
| 12:35 | more work on the checkin bits. file: 52b6031e1e check-in: [8fbda636dd] user: stephan branch: trunk, size: 47129 ) | |
| 11:50 | Started work on some internals needed for doing a checkin. file: f98c65ca59 check-in: [c77b3cb7fb] user: stephan branch: trunk, size: 46830 ) | |
|
2014-03-04
| ||
| 10:16 | switch from local time to gmt in one test. file: 0e7e8af336 check-in: [2d5f825f68] user: stephan branch: trunk, size: 45510 ) | |
|
2014-02-25
| ||
| 21:19 | Changed fsl_repo_filename_to_fnid() semantics a tiny bit. file: 13fdf6744d check-in: [3438cbb4bd] user: stephan branch: trunk, size: 45513 ) | |
|
2014-02-23
| ||
| 11:24 | fsl_mtime_of_manifest_file() now accepts a 0 fileId to fetch the time of the manifest. zip-repo now sets the root dir time to that of the manifest. file: 6e8c39a6b5 check-in: [90f3f7bd40] user: stephan branch: trunk, size: 45123 ) | |
|
2014-02-22
| ||
| 10:33 | Ported in fossil's system timer APIs. file: 60c5f45efc check-in: [91471dde81] user: stephan branch: trunk, size: 45006 ) | |
|
2014-02-15
| ||
| 18:52 | Added a unit test. file: 68f63e8bbc check-in: [a93fd5de89] user: stephan branch: trunk, size: 44692 ) | |
|
2014-02-14
| ||
| 18:17 | minor output tweak. file: 8b3027d20b check-in: [ffa6fb17c9] user: stephan branch: trunk, size: 44613 ) | |
| 12:05 | Refactored fsl_repo_extract() to provide more info to the callback. Added fsl_strftime_unix(). file: 300d84a446 check-in: [38d3dd2086] user: stephan branch: trunk, size: 44565 ) | |
| 10:36 | Reordered some arguments. Implemented fsl_repo_extract(), which will be the basis of checkout-like behaviours. file: e4252a9392 check-in: [e713b48c83] user: stephan branch: trunk, size: 44797 ) | |
| 09:05 | Globally changes the API docs from fossil/sqlite-style '**' to Doxygen-friendly format because the extra stars hinder writability/changability and require an extra filter at the doxygen-processing level. file: 9bd18d07e7 check-in: [a2cbd2e343] user: stephan branch: trunk, size: 43313 ) | |
|
2014-02-12
| ||
| 20:42 | Moved ZIP-creation code into the public API. Expanded and fixed it considerably. Added f-zip tool. file: 1c469b7c3f check-in: [54a3117046] user: stephan branch: trunk, size: 43313 ) | |
|
2014-02-11
| ||
| 15:57 | Moved the overlooked test.c and moved much of its code into f-sanity.c. Minor tweak to fsl_cx_err_reset() to avoid a potential error propagation corner case. file: e4c9e5683e check-in: [2d81857ed2] user: stephan branch: trunk, size: 43166 ) | |
| 14:31 | Renamed and modified f-sanity.c → f-apps/f-sanity.c. Build cleanups. Moved f-* apps to f-apps/ subdir. Now builds a shared (instead of static) lib by default because that now (since the file move) simplifies the linking of the f-apps (and th1ish). Adapted f-sanity.c tests to the new directory structure. file: 5093abcb7f check-in: [e85b45eda2] user: stephan branch: trunk, size: 39899 ) | |