Login
History of f-apps/f-checkin.c of a5a9733acdd96002
Login

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

History of file f-apps/f-checkin.c at check-in a5a9733acdd96002

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
2021-03-01
16:21
Arguably a typo fix in the new header. Thank goodness for stream editors. file: [8569c6668d] check-in: [386316db07] user: stephan branch: trunk, size: 7894
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: [8d2723d183] check-in: [fa5fb24496] user: stephan branch: trunk, size: 7886
2021-02-28
04:57
fcli now uses its own FCLI_RC_HELP, instead of hijacking FSL_RC_BREAK, to indicate that --help was triggered. file: [babf3698c7] check-in: [d0edf4583f] user: stephan branch: trunk, size: 7822
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: [beeb13ded6] check-in: [ca464b5b74] user: stephan branch: trunk, size: 7819
07:08
More CLI flag subsystem porting and license header swapping. file: [7accc1b92c] check-in: [c94a3b0d0e] user: stephan branch: trunk, size: 7820
06:05
More work on the new fcli flags infrastructure. file: [6d08a88891] check-in: [6865f151f9] user: stephan branch: trunk, size: 8129
2021-02-26
14:04
Reworking how fcli flag handling is done. file: [de35010f51] check-in: [dad2f76f30] user: stephan branch: fcli-flag-rework, size: 8400
2021-02-24
04:04
Brought checkin crosslinking up to date wrt fossil (whew) and it appears to work: deleting the mlink/plink entries and running f-parseparty -c seems to do the right thing. Fixed a couple mis-handled cases of cherrypick crosslinking and mis-setting of the fsl_card_Q::type field in fsl_deck_parse(). file: [6f0c08dbf5] check-in: [4dde2be3b0] user: stephan branch: trunk, size: 8394
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: [92886af065] check-in: [8728796601] user: stephan branch: trunk, size: 8395
2021-02-15
03:24
Renamed src/fsl_XYZ.c to src/XYZ.c. f-checkin vfile dump now includes renames. file: [c9596d3bad] check-in: [ed3183170a] user: stephan branch: trunk, size: 8395
2021-02-13
23:43
Corrected f-checkin's vfile dump to only include changed files. file: [4062bdc797] check-in: [345ab3e1c1] user: stephan branch: trunk, size: 8372
21:49
Changed crosslink listener interface and started porting the parts which update the timeline into user-overrideable listeners, which will allow clients to 100% customize timeline content without having to deal with the rest of the crosslinking schema updates. Honor fossil's forbid-delta-manifests setting. Fixed fsl_deck_output() usage in f-apps, as called for by previous commit [ac9b034f79]. file: [a045f4cb22] check-in: [911afa1bcc] user: stephan branch: trunk, size: 8283
2021-02-11
19:13
Completely reimplemented ownership semantics of fcli argument/flag memory, greatly simplifying app-side management of those. Now fcli sticks all of them in fcli_fax() so that their lifetime is predictable and managed, so clients no longer have to free them. file: [6744ac04dd] check-in: [4307886eab] user: stephan branch: trunk, size: 8301
04:41
Moved some at-exit cleanup code. file: [b13c54ed35] check-in: [d6afb451a0] user: stephan branch: trunk, size: 8389
2021-02-10
15:45
Added fcli_fax() (free-at-exit). file: [6efbe12c73] check-in: [e8b7fd94e6] user: stephan branch: trunk, size: 8380
2021-02-09
11:40
Added some protections against generating empty checkin. Removed some stale docs. file: [25082c2d18] check-in: [9bff657291] user: stephan branch: trunk, size: 8390
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: [2dbd1bb158] check-in: [631fb3f69a] user: stephan branch: trunk, size: 7933
2015-12-28
21:44
another test of the leaf-check fix file: [3b56b67810] check-in: [f0930aedad] user: stephan branch: trunk, size: 7909
21:41
another test of the leaf-check fix file: [f7594f1204] check-in: [12acd9c844] user: stephan branch: trunk, size: 7838
21:33
another test of the leaf-check fix file: [51dc8763d2] check-in: [7eb42e237a] user: stephan branch: trunk, size: 7825
2015-08-17
10:35
removed confusing bit of help text, corrected other help text. file: [943424d326] check-in: [9e2f749e6d] user: stephan branch: trunk, size: 7724
2014-03-16
13:03
Extended the manifest content caching in fsl_deck_parse() to apply to other fsl_deck string cards. Changed fsl_deck::L from a fsl_buffer to a C-string. file: [61dc27c7bc] check-in: [752aad3eb7] user: stephan branch: trunk, size: 7638
2014-03-15
13:35
Minor cleanups, code consolidation/removal. file: [857e44fc8b] check-in: [a92bffdddf] user: stephan branch: trunk, size: 7638
2014-03-14
11:10
another round of minor cleanups. file: [4a92ffc35b] check-in: [7e8d0ecfe2] user: stephan branch: trunk, size: 6547
2014-03-13
19:42
accommodated internal restructurings. file: [eeadf44f29] check-in: [4740bce980] user: stephan branch: trunk, size: 6542
2014-03-12
19:44
Swaped fsl_checkout_version_info() arg order, for consistency. More work on the checkin bits. file: [b129a615e2] check-in: [ccb9a1e941] user: stephan branch: trunk, size: 6530
2014-03-11
20:09
minor code cleanups. Removed some dead code and debug output. file: [27e433bff7] check-in: [753fc44fa7] user: stephan branch: trunk, size: 6530
17:21
Weird. Everything seems to be there but my local files are all showing as diffs... Ah, their vfile entries are not updated. file: [f8ed06883e] check-in: [75fdc9e37d] user: stephan branch: trunk, size: 6532
17:02
First attemp at actually committing a delta manifest created by libfossil. Pray, please. Backup repo is in place. file: [43bd91a372] check-in: [651c219475] user: stephan branch: trunk, size: 6531
2014-03-09
17:30
Checkin now closes cancels other branch tags when branching. Other minor fixes. Discovered that checkin is missing something - all old leaves are still marked as leaves. Will investigate later. file: [c003c1074c] check-in: [947ccbd912] user: stephan branch: trunk, size: 5859
14:42
added fsl_checkin_opt::dumpManifestFile option to dump checkin manifests to a file. Added the missing header part of the previous checkin. file: [f5814c4e76] check-in: [810b2985c0] user: stephan branch: trunk, size: 5734
11:19
added some help text. file: [c8b7280f22] check-in: [6706082b1a] user: stephan branch: trunk, size: 5614
10:19
This is the very first checkin performed by libfossil on its own repo. Pray. Hard. file: [4bde5bca14] check-in: [79460b24aa] user: stephan branch: trunk, size: 5291
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: [fcc8ccae63] check-in: [1cd70042f1] user: stephan branch: trunk, size: 4859
18:29
Added: 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: [6e949d916d] check-in: [1a0ee6b693] user: stephan branch: trunk, size: 4553