Login
All files named ”f-apps/f-ci.c”
Login

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

History for f-apps/f-ci.c

2025-08-20
15:56
Remove deprecated SPDX-ArtifactOfProjectName header. file: 7b3daa6ece check-in: [31bb2bd4bf] user: stephan branch: trunk, size: 17304 )
2025-08-14
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. file: c2f91bca57 check-in: [af63b23613] user: stephan branch: trunk, size: 17344 )
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. file: 4313a70743 check-in: [5ac14a34a6] user: stephan branch: trunk, size: 17343 )
17:50
Make the PTL caches more selective in what they clear. file: 275037b1e5 check-in: [db73d2beed] user: stephan branch: trunk, size: 17195 )
17:41
Make the PTL caches more selective in what they clear. file: c83b1b5b56 check-in: [8cb51b75c2] user: stephan branch: mistake, size: 17165 )
17:39
Make the PTL caches more selective in what they clear. file: c34b5d2b3a check-in: [9feefb9e6e] user: stephan branch: mistake, size: 17553 )
17:39
Make the PTL caches more selective in what they clear. Edit: these were supposed to be dry-run checkins! file: 7f388cc8a6 check-in: [07e5cd3a16] user: stephan branch: mistake, size: 17549 )
2025-08-11
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(). file: 4017692307 check-in: [36b409303b] user: stephan branch: trunk, size: 17527 )
2025-08-10
19:51
Work towards improving dry-run modes vis-a-vis the transaction stack and stale caches. file: 5088870259 check-in: [c85387bcd9] user: stephan branch: savepoints, size: 17527 )
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. file: 5bbb7d33c9 check-in: [3f7c6edf9d] user: stephan branch: savepoints, size: 17497 )
00:58
Globally rename foo_transaction_bar() to foo_txn_bar(). file: b9401f65e6 check-in: [03da2e699b] user: stephan branch: savepoints, size: 17470 )
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: f883b9e004 check-in: [84ef1197c3] user: stephan branch: trunk, size: 17510 )
2025-03-16
14:57
-Add a partial workaround to f-ci for checkin messages which start with a minus sign: leading space in a -m message is now stripped, so -m '-foo...' can be formulated like -m ' -foo...' to work around this flag-parsing limitation. (Yes, that actually bit me in [https://sqlite.org/src/info/44f2c64ec16f4720], and there i worked around it by using fossil, instead of f-ci, for the checkin.) file: d03fa7b04b check-in: [eead046a57] user: stephan branch: trunk, size: 17483 )
2024-09-24
21:24
Comment cleanups. file: fea7afbdea check-in: [5861c30dce] user: stephan branch: trunk, size: 16985 )
21:13
Add --private flag to f-ci. It seems to work, too. file: febf08e86e check-in: [f511d7e632] user: stephan branch: trunk, size: 17005 )
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: ad337c3013 check-in: [f00a5025f5] user: stephan branch: db-hooks, size: 16255 )
12:21
Add --date-override and --allow-older flags to f-ci. file: ad873fae51 check-in: [580ec03020] user: stephan branch: trunk, size: 16264 )
2024-07-23
10:26
Fix a bug in fsl_checkin_calc_F_card2() which caused a change of (only) the exec bit to go un-marked in the manifest (the file retained its old exec-bit status, but otherwise no harm done). file: 4dc5bf7bbd check-in: [4243008e11] user: stephan branch: trunk, size: 15006 )
2024-06-16
17:06
EOL whitespace cleanups. file: ee4eccc051 check-in: [30b6b94913] user: stephan branch: trunk, size: 14999 )
2024-03-28
11:50
More work on close-at-checkin, but this is turning into a rat's nest of side effects and does not address the partial-checkin case, so shelving this idea for the time being. Unrelated: this checkin is showing src/checkin.c as a full-file diff with both fossil(1) diff and f-vdiff, whereas doing a diff --from prev shows the expected changes only. Shrug. file: b14647b37b check-in: [075379b921] user: stephan branch: ci-close, size: 15673 )
09:49
Add new fsl_checkin_opt::writeCheckoutVersion (default=true) as a way to suppress automatic rewriting of checkout version to match the new checking version, for use with... Add f-cli --close and --close-with-comment flags which enable checking in and closing at the same time. When doing so, do _not_ update the checkout to the newly branched-and-closed version. Edit: this messes up the checkout state by setting the vfile state to match the new branch instead of the current branch. Need to investigate that further. file: 84519c9631 check-in: [1f286fb52a] user: stephan branch: ci-close, size: 15470 )
2022-07-31
20:29
f-ci: when -b BRANCH is supplied, skip the would-fork check, else it can lead to a would-fork error when trying to check in to a new branch from anywhere other than the tip. file: 08d2517572 check-in: [16eb245dd4] user: stephan branch: trunk, size: 15003 )
2022-07-03
08:11
Fixed broken like-clause formatting introduced in [b33abe472b58] (percent sign needed to be doubled). Fixes remote-host check in fcli_sync(). Unrelated minor formatting tweaks. file: cc185a1f16 check-in: [b6df9a0845] user: stephan branch: trunk, size: 14997 )
2022-07-02
07:47
fcli_sync() is now a no-op if the repo config contains no 'syncwith:...' entries (avoids an error when doing initial checkin on a new repo with f-ci). When f-ci is checking in to a repo which has no commits, it now defaults the branch to trunk if no branch name is provided. It proviously left off the branch tags altogether, leading to a branchless checkin (harmless but confusing). file: bb8be01bd8 check-in: [b33abe472b] user: stephan branch: trunk, size: 15001 )
2022-04-14
05:06
Fixed a segfault in f-ci and f-update caused by variadic args misuse. file: f43c285744 check-in: [3f43f99441] user: stephan branch: trunk, size: 14508 )
2022-04-11
03:07
f-ci now attempts to prohibit checkins to non-leaf versions and adds the --fork flag to bypass that check. Added FSL_RC_WOULD_FORK because no other existing result code seems appropriate for reporting this case. file: faea9d9950 check-in: [b8c029741a] user: stephan branch: trunk, size: 14483 )
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: cefa66482a check-in: [0afca69968] user: stephan branch: trunk, size: 13913 )
2022-04-09
08:08
f-ci now uses fossil(1) for autosync support. Kinda backwards, but it's a usability improvement. It honors both the fcli.autosync boolean setting and fossil's autosync, prefering the former. file: 217c8797e3 check-in: [44fcc2f7aa] user: stephan branch: trunk, size: 13888 )
2021-12-30
05:37
Replaced f-apps fcli_setup() calls with fcli_setup_v2(). file: 1bf2202c01 check-in: [313b59841e] user: stephan branch: trunk, size: 13208 )
2021-12-25
16:07
Help text typo and removed unnecessary header. file: 081ad81726 check-in: [43601bc8ab] user: stephan branch: trunk, size: 13240 )
2021-12-21
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: 2703c392c4 check-in: [76d6359435] user: stephan branch: trunk, size: 13241 )
2021-12-20
22:06
Touchups to f-ci's handling of sym- tags to bring it mostly in line with fossil's checkin-level sym tag handling. file: 6e381b451f check-in: [3987b62a03] user: stephan branch: toplevel-make, size: 13327 )
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: 73d6d791cd check-in: [83917b7b45] user: stephan branch: trunk, size: 12662 )
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: 490f1f8e47 check-in: [1dc391289c] user: stephan branch: remove-deck-uuid, size: 12661 )
2021-10-19
07:51
f-ci can now tell the difference between being passed an unmanaged dir name or a managed dir name which contains no changes and correctly queues only modified files when passed a dir name. That triggered an as-yet-undiscovered fsl_id_bag_reset() bug, now fixed, which triggered an assert() but somehow has not asserted before. file: 7e47c42016 check-in: [97887399f1] user: stephan branch: trunk, size: 12678 )
2021-10-17
10:39
More slow progress on the merge port. file: 4fd7f3dc82 check-in: [2c0ca8f720] user: stephan branch: port-merge, size: 11985 )
2021-10-15
09:33
While prepping for the merge port, moved the dry-run flag OUT of fcli and into the specific apps which implement it. Added skeleton f-test-merge app for use in the merge development. file: c85342d352 check-in: [c9fb1f972f] user: stephan branch: trunk, size: 11981 )
2021-08-29
12:31
Fixed a null pointer deref in a f-ci misuse case. file: 294da183b8 check-in: [93f9b07776] user: stephan branch: trunk, size: 11912 )
2021-07-12
01:05
Initialized some vars to squelch compiler warnings. file: 37d3ef0f60 check-in: [855c60d0ee] user: stephan branch: trunk, size: 11906 )
2021-06-25
06:42
Minor cleanup to [1d193a7055ad13fb]. Corrected an is-in-a-transaction check in f-ci to handle a pending rollback. file: ffbfcb7890 check-in: [5b5d1f2030] user: stephan branch: trunk, size: 11894 )
05:29
Merged an inadvertent fork. fsl_checkin_enqueue() can now accept its files as vfile.id values, eliminating a duplicate vfile check. file: 604720ebd0 check-in: [1d193a7055] user: stephan branch: trunk, size: 11893 )
2021-06-01
03:45
Minor var init order tweak to ease my mind about its handling in a particular error case. file: 57b11c7dc7 check-in: [7b792bd557] user: stephan branch: trunk, size: 11867 )
2021-05-31
02:08
f-ci can now determine when it is passed names not known to the repo, as distinct from being passed names which refer to unchanged files, and fails with an error in that case. file: e27ccf5948 check-in: [b53ba022ec] user: stephan branch: trunk, size: 11867 )
2021-04-17
05:58
f-ci now runs in non-dry-mode by default (no longer needs the -y flag). file: 778785cfb0 check-in: [a038536522] user: stephan branch: trunk, size: 11217 )
2021-04-16
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: a35afe9bc7 check-in: [8c9cf48702] user: stephan branch: trunk, size: 11554 )
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: f17034802c check-in: [2791e665cc] user: stephan branch: trunk, size: 11508 )
2021-04-04
05:07
f-apps: modernized/simplified usage of exit-on-help. Removed some bogus CLI flag entries from f-config. file: e9c6a635ba check-in: [1d3192c82b] user: stephan branch: trunk, size: 11978 )
04:58
f-apps: use fcli_cx() instead of accessing fcli.f directly. file: 97d369127a check-in: [9c7cf37828] user: stephan branch: trunk, size: 12029 )
2021-03-31
12:16
Fixed f-ci leaf-marking bug introduced in [43d1902823fd16b9]. file: fbdcf26566 check-in: [df0f22661b] user: stephan branch: trunk, size: 12026 )
05:41
Minor f-apps updates. Reverted f-revert to using the filename variant of fsl_ckout_revert(), instead of the fsl_filename_to_vfile_ids() variant, because the former allows the user to revert renames using the old or new names, whereas the latter only sees the new names. Fixed a range error in fsl_stmt_bind_fmtv() when binding a string as blob, and that function's blob/string bindings no longer copy their arguments' memory. Changed fsl_stmt_bind_step() return semantics to enable fetching data. file: 879d2e40b8 check-in: [43d1902823] user: stephan branch: trunk, size: 11741 )
2021-03-27
15:01
Fixed a test assert() broken by the previous checkin. file: 4d2a935d8e check-in: [1bc0bdd204] user: stephan branch: trunk, size: 11651 )
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: 37a0a5118d check-in: [8abd63ab1c] user: stephan branch: trunk, size: 11627 )
05:13
Added f-ci --user-override flag. (We'll test it with this checkin.) A couple pedantic casts for the sake of variadic arg handling. file: e50d0e0575 check-in: [aeae018f92] user: steeeeve branch: trunk, size: 11659 )
2021-03-20
06:36
Improved to updating of vfile during a checkin, avoiding a rescan which nuked newly-added/rm'd entries which are not part of the commit. Various adjacent tune-up. f-ci now rolls back the manifest file writes in dry-run mode. file: 5c6781ab19 check-in: [6caa73a8b3] user: stephan branch: trunk, size: 11420 )
04:19
Several cleanups in/around open/checkout/checkin. file: d981d15fa9 check-in: [2c56bac8e2] user: stephan branch: trunk, size: 11042 )
2021-03-15
04:25
Globally renamed _checkout to _ckout, as some of these names are getting a bit long. file: 27ae7e8fc5 check-in: [bc9e88ee2c] user: stephan branch: trunk, size: 11028 )
2021-03-09
14:03
Fixed a memleak in f-tag. Added --tag flag to f-ci. Tightened validation of tags at output-time (as opposed to parse-time) such that it is no longer legal to add the same tag name/target combination twice in the same artifact, even if they have different types (add/cancel/propagate). file: 8d3156d8bb check-in: [200bddbb8a] user: stephan branch: trunk, size: 11049 )
06:30
Added a flag to tell fsl_checkin_commit() whether or not to scan vfile for changes, analog to the same option in fsl_repo_checkout(). A few char-to-bool conversions. file: 9dcec64bff check-in: [3bff6c7de8] user: stephan branch: trunk, size: 8868 )
2021-03-07
14:37
Added FSL_RC_CONFLICT. Checking process now detects merge conflict markers and fails if fsl_checkin_opt::allowMergeConflict is false (which it is by default). Added f-ci --allow-merge-conflict flag. Removed what seems to be a superfluous db update in the checkout process. file: 4e5e090618 check-in: [b5479cc3c6] user: stephan branch: trunk, size: 8810 )
09:43
Renamed a cryptically-named struct member from fc to fCard. file: 215fa8310a check-in: [ae428e47b0] user: stephan branch: trunk, size: 7916 )
08:48
Moved some f-ci always-output into verbose-only output, which coincidentally uncovered... Fixed the duplicate crosslinking which was being performed via fsl_checkin_commit() and made fsl_deck_save() change how it crosslinks depending on whether fsl_crosslink_begin() is active, which (in turn) fixed the fsl_repo_has_mlink_mid() discrepancy vis a vis fossil for checkin crosslinking. file: aca47534e8 check-in: [0c3df4194e] user: stephan branch: trunk, size: 7913 )
2021-03-04
18:24
Renamed f-apps/f-checkin.c → f-apps/f-ci.c. Renamed f-checkin to f-ci and f-checkout to f-co because the tab-completion conflicts are getting annoying :/. file: 8569c6668d check-in: [932ec8ad51] user: stephan branch: trunk, size: 7894 )