Login
History of include/fossil-scm/fossil-checkout.h of 473fd8718c46aadf
Login

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

History of file include/fossil-scm/fossil-checkout.h at check-in 473fd8718c46aadf

2024-09-13
16:07
A potential fix for the bug tagged as tag:bug:revert-merge-hiccup and described in [00377f482a0d], with the caveat that i've been unable to reproduce it, so cannot be 100% certain that this is adequate. It seems sound, anyway. file: [54cddda4c3] check-in: [aebe930b2c] user: stephan branch: trunk, size: 119600
12:57
Document an obscure, difficult-to-trigger misinteraction between revert/merge ops (fixing it is todo, once a good solution is found). Fix fsl_ckout_has_changes() to return true also when vfile.deleted is true and restrict it to matching only when vid=current-ckout-version to cover a wildly hypothetical case of multiple distinct vfile.vid values being in the table. file: [b08f28527b] check-in: [00377f482a] user: stephan branch: trunk, size: 119416
2024-04-10
22:03
Port in [fossil:f1f7e27e0cdb8943|upstream f1f7e27e0cdb8943], a routine which ensures that a given filename matches the case it is stored in in the filesystem. Use that in f-add.c, where it's applied even for case-sensitive filesystems (primarily as a test for that routine). file: [a989ba441c] check-in: [0e50f798e6] user: stephan branch: trunk, size: 118624
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: [16e9e0c428] check-in: [075379b921] user: stephan branch: ci-close, size: 119106
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: [a12e2ca99f] check-in: [1f286fb52a] user: stephan branch: ci-close, size: 118650
2023-04-23
12:07
Apply upstream [fossil:7c75e47b3c130ff1]: when merging files with no common ancestor, treat it as if an imaginary common ancestor were an empty file. We currently retain the no-common-ancestor diagnosis but may yet remove it or augment it to permit the user to specify which side of the merge to retain. file: [180e548046] check-in: [30bd3e8b14] user: stephan branch: no-common-ancestor, size: 119230
2023-04-19
03:35
Cherrypick changes from the no-common-ancestor branch which are not strictly relevant to that change. file: [756bb4a34c] check-in: [1ee281f8ed] user: stephan branch: trunk, size: 119016
03:23
Remove FSL_MERGE_FCHANGE_CONFLICT_ANCESTOR and its associated handling, as fossil no longer reports that as a problem. (Edit: closing this broken branch to re-start from a clean slate after some sleep.) file: [352a8b7a58] check-in: [c575ac0028] user: stephan branch: no-common-ancestor, size: 118209
02:26
Apply a set of missing f(void) and assigned-but-unused vars from Mark J. file: [4373df9bea] check-in: [b96f5840ea] user: stephan branch: no-common-ancestor, size: 119228
02:11
Apply upstream [fossil:7c75e47b3c130ff1]: when merging files with no common ancestor, treat it as if an imaginary common ancestor were an empty file. file: [f12f6088cf] check-in: [b67c69a3ca] user: stephan branch: no-common-ancestor, size: 119224
2023-02-02
10:08
Integrate upstream patch [https://fossil-scm.org/home/info/52a66829d655ff35dc52]: when cherrypicking, do not include marked-as-private merge parents in the Q-card list. file: [ebcd760b56] check-in: [fc0ae4b07e] user: stephan branch: trunk, size: 119012
2022-03-10
03:38
For the fsl_ckout_rename()-related bits, rename the fsMvFile option to doFsMv. file: [688ed99a3f] check-in: [b85863a91d] user: stephan branch: trunk, size: 118890
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: [f6d70bf3a5] check-in: [bc7bfb06e3] user: stephan branch: trunk, size: 118752
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: [a35d647f6a] check-in: [80c84abba6] user: stephan branch: trunk, size: 117607
05:46
Added f-rename. This impl revealed how/why fsl_ckout_rename() needs to be refactored to take a callback for reporting exactly which files get renamed, but that will have to wait until the muse strikes. file: [8bffc8851b] check-in: [ef1ceb0a0c] user: stephan branch: trunk, size: 115910
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: [4647f9f00e] check-in: [52318ca911] user: stephan branch: trunk, size: 115767
2022-03-07
01:44
Added fsl_ckout_rename_revert() and unit tests. file: [7ebd297aa2] check-in: [aa34eddd93] user: stephan branch: trunk, size: 114671
2022-03-05
10:09
Added fsl_ckout_rename(), the core impl of a rename/move operation for SCM-managed files. file: [5e501108d4] check-in: [4d2e43a8f6] user: stephan branch: trunk, size: 113106
2022-01-23
13:19
f-vdiff can now catch and report renames when the rename is part of the local checkout's state. Code-adjacent constness tweaks. Edit: FIXME: discovered later that this fails when the diff is run from anywhere but the top checkout dir. file: [28eb841cbe] check-in: [5e12e2134b] user: stephan branch: trunk, size: 109646
2022-01-04
03:51
Corrected the no-diff display case in the ncurses diff view. Minor doc and constness tweaks. file: [cb6a42467c] check-in: [e358ca5350] user: stephan branch: trunk, size: 109394
2022-01-01
14:58
More work on the db handle redux. Seems to work okay. file: [0da9e4fc20] check-in: [71f5f09817] user: stephan branch: cx-db-handle-reorg-redux, size: 109230
13:34
fsl_cx db handle reorg redux, step one. Significantly simplifies how dbs are closed, always treating them as an inseparable pair. Basic sanity checks pass, but more testing is needed and lots of docs to update. file: [e4c43f074d] check-in: [fa7c56d0ca] user: stephan branch: cx-db-handle-reorg-redux, size: 109243
2021-12-31
22:19
Ported over more general-purposes pieces from the cx-db-handle-reorg branch in prep for taking a fresh whack at that. file: [cbb957cb09] check-in: [39645644a7] user: stephan branch: trunk, size: 109652
21:36
Cherrypicked [74964a09a5] (doxygen tag fix). file: [3751f9932c] check-in: [326482e519] user: stephan branch: trunk, size: 105591
15:50
Corrected names of several @file doxygen tags. file: [dcb3aebc04] check-in: [74964a09a5] user: stephan branch: cx-db-handle-reorg, size: 110352
15:00
fsl_ckout_open_dir() now treats a NULL dir name as ".". Updated C++ and s2 bindings for the new db changes. file: [78b4076155] check-in: [05c1da0fb0] user: stephan branch: cx-db-handle-reorg, size: 110359
13:29
Eliminated fsl_cx::dbMem in-memory/temp db and (again) use the first of the repo/ckout dbs which is opened as the MAIN db (aliasing it to its well-defined libf schema name). This has a high potential for fallout, so it's in a branch pending more thorough testing. file: [bd9b1f81ce] check-in: [aebf241ab5] user: stephan branch: cx-db-handle-reorg, size: 110323
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: [5cbfb014d9] check-in: [1d7a6d2b96] user: stephan branch: trunk, size: 105598
2021-12-27
15:00
When performing a fsl_db rollback, clear the associated fsl_cx's manifest- and blob-content caches in order to ensure that they do not contain any RIDs which are part of the being-rolled-back transaction. Remove fsl_cx::cache::deltaIds as it was determined that the recursion involving that cache could have broken things (but, rather curiously, had not done so thus far). Might want to revisit that cache someday and account for the new effective tail of the array on each recursion. file: [8080e92eca] check-in: [35dca27909] user: stephan branch: trunk, size: 105581
2021-12-21
22:10
fsl_ckout_manage() now silently skips any directories which appear to be nested checkouts. Extended fsl_dircrawl_f() callback semantics to support skipping recursion into a dir but continuing to dir-crawl. file: [59d034468a] check-in: [3f48c073cf] user: stephan branch: trunk, size: 105574
20:21
Renamed and modified include/fossil-scm/fossil-checkout.h → include/fossil-scm/checkout.h. Removed the fossil- name prefix from include/fossil-scm/*.h. file: [63c98b9dfe] check-in: [43a9bea8d5] user: stephan branch: trunk, size: 105329
14:54
Added fsl_ckout_dbnames() and fsl_is_top_of_ckout(), prompted by recent fossil forum traffic. file: [9373ee6ad3] check-in: [7a9a409695] user: stephan branch: trunk, size: 105343
13:10
Expanded the fsl_ckout_manage() callback interface analog to the new fsl_ckout_unmanage() changes. file: [3dcfb8aba5] check-in: [c00159a925] user: stephan branch: trunk, size: 104525
12:34
Expanded fsl_ckout_unmanage()'s callback interface to facilitate client-side unlinking of newly-unmanaged files. Added f-rm --unlink option. file: [e1129124a4] check-in: [9be228a605] user: stephan branch: trunk, size: 103052
2021-12-15
14:24
Minor doc and formatting tweaks. file: [dee4985586] check-in: [8d1f232a1c] user: stephan branch: trunk, size: 101802
12:47
Moved fsl_ckout_merge() code from f-test-merge.c to src/merge.c. Renamed f-test-merge.c to f-merge.c. Various touchups in f-merge. file: [f8e9c67ae7] check-in: [661999bcc7] user: stephan branch: trunk, size: 100571
04:21
More work on merge and adjacent code. Changed how fsl__ckout_clear_merge_state() works to attempt to enable partial reset when individual to-be-merged files are reverted. Whether the corresponding SQL is 100% semantically correct for the vmerge state remains to be seen, but so far, so good. See [https://fossil-scm.org/forum/forumpost/f678085f79] for the discussion about those bits. file: [9d00567d9f] check-in: [4d88f6cbd6] user: stephan branch: trunk, size: 98053
00:42
More work on the merge API. Time for work. file: [c5485b9132] check-in: [8fa60bfe38] user: stephan branch: trunk, size: 97976
2021-12-14
23:08
First-ever fsl_ckout_merge() test worked, but there's still lots of testing and client status callback support to add to fsl_ckout_merge(). Added vmerge state to f-status/fcli_chkout_show_info() output. file: [fc29b24880] check-in: [9e719cffc5] user: stephan branch: trunk, size: 93292
05:23
More work on the merge API port. Still lots to do. file: [4463479018] check-in: [7d626b574d] user: stephan branch: trunk, size: 93388
2021-11-29
06:52
Fix comparison typo that clobbered requested version. The fsl_card_F_ckout_mtime() doc suggests that the current checkout will only be used if the rid of the passed in version is 0; however, the typo forced all rids greater than or equal to 0 to be overridden with the checkout version. file: [a13cfd3fb2] check-in: [0031d2f466] user: mark branch: trunk, size: 93079
2021-11-23
03:27
Improved fsl_reserved_fn_check()'s handling of the manifest setting. Added fsl_reserved_fn_check() to f-ciwoco. Made wet-run the default in f-ciwoco. Replaced some magic values with their corresponding enum entry references. Removed a long-since-implemented TODO note. file: [cda14add92] check-in: [09094cea7b] user: stephan branch: trunk, size: 93077
2021-11-20
15:02
Cut number of rebuild allocations by another 15k via refactoring of fsl_buffer_uncompress() to be smarter about reusing the output buffer's memory, plus much more modest gains via addition of a cached buffer for building and applying deltas. file: [5142481b69] check-in: [88757e5411] user: stephan branch: trunk, size: 92941
2021-11-03
02:51
f-revert can now report an error when it is passed an unmanaged file name. It now requires, however, passing in the new name, instead of the original name, when reverting a rename. Removed f-revert's dependency on fossil-internal.h. file: [966adc7df7] check-in: [7dd883be5e] user: stephan branch: trunk, size: 92899
00:07
Another constness tweak, a doc fix, and added a TODO to f-revert. file: [53492c640b] check-in: [af29e33252] user: stephan branch: trunk, size: 92875
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: [62f0ad06b7] check-in: [97887399f1] user: stephan branch: trunk, size: 92867
2021-10-18
14:03
Numerous minor doc and constness tweaks. Starting to use markdown formatting for API docs, now that it's been discovered that Doxygen can do that. file: [c8bfa80d3c] check-in: [77e8ee40f8] user: stephan branch: trunk, size: 92688
2021-10-17
10:39
More slow progress on the merge port. file: [fb2285bfcf] check-in: [2c0ca8f720] user: stephan branch: port-merge, size: 92702
2021-10-16
15:50
Another few hundred lines of merge infrastructure and lots of unrelated constness tweaks. Moving to a branch because we can't test some of the new features without one. file: [dd10d649ac] check-in: [3ff20f1d01] user: stephan branch: port-merge, size: 92054
12:09
More work on the merge operation infrastructure. file: [c1664890b2] check-in: [a6b6f083cb] user: stephan branch: trunk, size: 92036
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: [5356e5990a] check-in: [c9fb1f972f] user: stephan branch: trunk, size: 91345
07:54
Insignificant cleanups found while scouting out what's needed to port over merge. file: [218f093459] check-in: [65b379e3e0] user: stephan branch: trunk, size: 88355
2021-10-09
07:54
Minor diff API renaming. f-vdiff now accepts filename arguments as well as globs. Added fsl_cx_has_ckout(). file: [03b8c3e11f] check-in: [78e6f53d8a] user: stephan branch: trunk, size: 87081
2021-10-08
21:51
Moved from code from f-vdiff into the public API. Several fixes in f-vdiff. file: [0b0105ae0a] check-in: [39180d2fe8] user: stephan branch: trunk, size: 86938
2021-10-07
03:27
Resolved the mind-numbing diff problem, caused by having used an (unsigned int) where a uint64_t was needed for the fsl_dline::h member (hash value overflow led to mismatches between this impl and fossil's). Annotate, at least in its basic form, now works (testing with ignoring whitespace and such is pending). file: [5067c3be05] check-in: [e456c5ab39] user: stephan branch: port-annotate, size: 84968
2021-10-06
21:23
Initial port of annotate/praise op is working but final results differ considerably from fossil's, so leaving it in a branch for now. The selected range of versions match, but the end results do not. file: [ff3423e824] check-in: [150bb5b77c] user: stephan branch: port-annotate, size: 84958
16:18
fsl_ckout_fingerprint_check() now returns 0 if no checkout is opened. file: [7ed77d63e9] check-in: [1fb9a31f45] user: stephan branch: trunk, size: 84939
2021-09-05
16:42
Added fsl_repo_manifest_write(). fsl_repo_zip_sym_to_filename() now writes (manifest, manifest.uuid, manifest.tags) to the zip unconditionally. It should probably only do so if no file matching those names is actually part of the repo content, but we'll fix that if it ever becomes a problem. file: [e62328b6af] check-in: [395518ff88] user: stephan branch: trunk, size: 84922
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: [18e27e61eb] check-in: [5b5d1f2030] user: stephan branch: trunk, size: 84887
05:29
Merged an inadvertent fork. fsl_checkin_enqueue() can now accept its files as vfile.id values, eliminating a duplicate vfile check. file: [11a49abe3d] check-in: [1d193a7055] user: stephan branch: trunk, size: 84659
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: [3d8103ee3a] check-in: [8c9cf48702] user: stephan branch: trunk, size: 84013
2021-03-31
12:17
Renamed fsl_vfile_load_from_rid() to fsl_vfile_load(). Added fsl_vfile_unload() and fsl_vfile_unload_except(). f-revert can now revert files to specific checkin versions while retaining the current checkout version. file: [a3e6a21bae] check-in: [40fcc816f0] user: stephan branch: trunk, size: 82851
09:47
Added fsl_ckout_vfile_ids() variant of fsl_filename_to_vfile_ids() in prep for an upcoming experiment. Fixed a cleanup order in fcli_shutdown(). file: [023e156a94] check-in: [889d2e32bb] user: stephan branch: trunk, size: 79700
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: [e7a1bc65c8] check-in: [43d1902823] user: stephan branch: trunk, size: 78731
2021-03-29
09:26
Corrected a misunderstanding about fsl_id_bag traversal consuming its contents (which is not the case) and adjusted API signatures to make that clearer. file: [34da082942] check-in: [0660107d5b] user: stephan branch: trunk, size: 78377
2021-03-28
17:10
Refactored fsl_ckout_unmanage() to optionally use the new fsl_id_bag approach added for fsl_ckout_revert(). Refactored f-rm to use that. file: [826acee477] check-in: [949885a1d3] user: stephan branch: trunk, size: 78585
15:15
fsl_ckout_revert() now optionally accepts a fsl_id_bag instead of a filename. Exposed fsl_filename_to_vfile_id(s)() to the public API. Added fcli_args_to_vfile_ids() and refactored f-revert to use that functionality. file: [194712efe0] check-in: [a527cc940a] user: stephan branch: trunk, size: 78044
07:21
Minor doc tweaks and added two arguably missing db transaction barriers. file: [8ddefe0705] check-in: [64780c9c47] user: stephan branch: trunk, size: 75357
2021-03-27
15:14
Doc updates and added another fsl_checkin_dequeue() test. file: [e2b21d2120] check-in: [9c2f72f751] user: stephan branch: trunk, size: 75354
15:01
Fixed a test assert() broken by the previous checkin. file: [29a76fef5e] check-in: [1bc0bdd204] user: stephan branch: trunk, size: 74974
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: [fc0ea5ea75] check-in: [8abd63ab1c] user: stephan branch: trunk, size: 74691
12:02
Minor API cleanups. file: [cefa5ce6c2] check-in: [259329f627] user: stephan branch: trunk, size: 72495
11:06
Minor doc updates. file: [80202eb6b4] check-in: [219baa2d88] user: stephan branch: trunk, size: 71727
00:10
Minor doc updates. file: [642a98b98e] check-in: [60d0481c59] user: stephan branch: trunk, size: 71234
2021-03-24
22:56
Minor doc tweaks and added auto.def check for libreadline for the sake of f-s2sh. file: [326e2adc5e] check-in: [252a8c3327] user: stephan branch: trunk, size: 70454
05:00
Cleaned up fsl_is_locally_modified() is-changed reporting. Added fsl_file_rename(). The revert op now renames files when reverting a rename op. fsl_vfile_to_ckout() now, like fossil, writes to vfile.pathname instead of to vfile.origname, and revert accounts for that. file: [5ab7f12cd6] check-in: [4f342af54f] user: stephan branch: trunk, size: 70447
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: [bc972485a2] check-in: [09300fddd6] user: stephan branch: trunk, size: 73718
2021-03-22
17:54
Added fsl_ckout_manifest_setting(). fsl_reserved_fn_check() now honors the various manifest files as being forbidden for addition into the repo (but will allow them if they're already in the vfile table). Swapped 2 params in fsl_ckout_file_add_f() signature. file: [c208afff33] check-in: [2c4a018200] user: stephan branch: trunk, size: 71019
16:14
Changed fsl_ckout_revert() to take an options object and added scanForChanges option. fsl_vfile_to_ckout() now prefers to write to vfile.origname instead of vfile.pathname, but that change is up for re-evaluation. Changed fsl_ckout_changes_visit() to report edited-and-renamed files as edited instead of renamed because fossil does it that way. file: [b626b8aaa8] check-in: [2cf2cebe3d] user: stephan branch: trunk, size: 68943
13:45
Added f-revert, analog to (fossil revert). Fixed f-rm to handle the filename '.' sensibly. Numerous tweaks in adjacent code along the way. file: [4787d514ff] check-in: [8cc33e4e8a] user: stephan branch: trunk, size: 67794
10:01
Changed the signature of fsl_ckout_file_rm(). file: [86c816e193] check-in: [356e3783c9] user: stephan branch: trunk, size: 63060
2021-03-21
00:37
Doc touchups. file: [923bd41ad5] check-in: [550f86da3a] user: stephan branch: trunk, size: 62498
00:26
Consolidated checkout/update to both use fsl_ckup_fchange_e to report the type of change, allowing removal of several of the fsl_ckup_state members. Local uncommitted adds and removals are now propagated when updating. Various adjacent tweaks. file: [b1441b3273] check-in: [1efb02180b] user: stephan branch: trunk, size: 62213
2021-03-20
21:01
More work in/around the update process. f-update and f-co now only list "noteworthy" changes instead of all files unless the new -Q|--not-quiet flag is used. file: [a0e06e9910] check-in: [0815bc50d7] user: stephan branch: trunk, size: 62127
18:52
First-ever f-update worked (in a test tree, of course). Still tons and tons of testing to do, and fix the broken removal of empty dirs after update, but baby steps have been made. file: [e1c3d7d742] check-in: [29fbb8bbd9] user: stephan branch: trunk, size: 62090
09:05
Barring one missing piece of to-port infrastructure and a boatload of testing, the update mechanism is in place and seems to be doing its thing. file: [4c269fb0ce] check-in: [9b9b989b2c] user: stephan branch: trunk, size: 61126
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: [473b7d5aff] check-in: [6caa73a8b3] user: stephan branch: trunk, size: 60791
04:19
Several cleanups in/around open/checkout/checkin. file: [93d669f3d9] check-in: [2c56bac8e2] user: stephan branch: trunk, size: 60901
00:59
fsl_vfile_load_from_rid() moved out of the public API and it no longer modifies the checkout version because that's incompatible with some uses. Removed some dead code. file: [b4e866d16e] check-in: [df39a4d7b2] user: stephan branch: trunk, size: 60449
00:35
More work on the update op. file: [aa98401bcf] check-in: [34f0c94b79] user: stephan branch: trunk, size: 61899
2021-03-19
18:12
More work on the update process. Getting close, but time for a break. file: [750cb9b5ac] check-in: [5667e3e23a] user: stephan branch: trunk, size: 61343
10:01
fsl_ckout_manifest_write() now deletes the manifest files which it does not create unless they are part of the current checkout. More work on/towards the update op. file: [b15f7688f9] check-in: [9d86e51a31] user: stephan branch: trunk, size: 59352
07:27
More work on the update infrastructure. It seems we can consolidate the options and callback state for checkout/update opts, so renamed some APIs to account for both. file: [6347901443] check-in: [6ceda397ad] user: stephan branch: trunk, size: 58757
05:19
Added fsl_ckout_write_manifest() to optionally write out the (manifest, manifest.uuid, manifest.tags) files for a checkout. fsl_ckout_calc_update_version(): removed the preferLatest parameter and it now reports the list of ambiguous candidates in its error string. file: [964c96a8fd] check-in: [07fd8c1f33] user: stephan branch: trunk, size: 58500
00:54
Moved the calc-update-version algo from f-update.c into the library. file: [6c7d220222] check-in: [3ad694f967] user: stephan branch: trunk, size: 56406
00:30
More work on the 'update' infrastructure. Turns out we're still missing an important low-level bit or three. file: [dadb4882cd] check-in: [c6dc2f9770] user: stephan branch: trunk, size: 55739
2021-03-18
16:07
Some minor API renaming for clarity and started work on an app for porting over the update op (noting that it's currently nothing more than a skeleton). Changed how fsl_repo_ckout_state reports filenames: ckout-relative instead of absolute seems more appropriate. Might want to include both, though. file: [225caa3305] check-in: [045532178f] user: stephan branch: trunk, size: 54310
2021-03-17
00:15
Removed an extraneous parameter from a few functions. Stopped senselessly checking for NULL fsl_cx arg in fsl_ckout_version_info(). file: [713887db9e] check-in: [8c212df490] user: stephan branch: trunk, size: 54207
2021-03-15
18:50
Considerable refactoring in/around fsl_repo_open_ckout() to move some of the functionality of f-open into the library and some into fcli. file: [3d20671fa8] check-in: [15425f1d4c] user: stephan branch: trunk, size: 54055
04:25
Globally renamed _checkout to _ckout, as some of these names are getting a bit long. file: [4633836913] check-in: [bc9e88ee2c] user: stephan branch: trunk, size: 38965
03:35
Moved a couple functions out of the public API. file: [08a333358c] check-in: [40c2c455fc] user: stephan branch: trunk, size: 39024
2021-03-13
10:11
Doc tweaks and minor struct member refactoring. file: [5f53a992b2] check-in: [f0c03038ff] user: stephan branch: trunk, size: 39442
08:16
Brought fsl_vfile_scan_changes() up to date wrt fossil, improving its accuracy as well as speeding it up. Improved reporting via fsl_checkout_changes_visit() (i.e. f-status) results. Removed about 200 lines of dead vfile code. file: [02acfdd694] check-in: [c77e85e259] user: stephan branch: trunk, size: 39336
05:27
Several minor changes moving us slightly closer to be able to add update support. file: [a2fbebaa6f] check-in: [1329430a6a] user: stephan branch: trunk, size: 38791
2021-03-12
17:26
Completely reworked how fsl_cx manages scratch buffers but it's leading, rather inexplicably, to double the number of allocs and memory use in f-sanity. Checking in due to paranoia of losing this work. file: [8b576b97d5] check-in: [01c1cff578] user: stephan branch: cx-scratchpad-rework, size: 37299
13:06
Moved some code around and renamed a struct member for consistency with similar structs. file: [ba42b68a36] check-in: [9bd1cfea4b] user: stephan branch: trunk, size: 37277
09:15
Minor refactoring in prep for upcoming changes. file: [60fad92fbe] check-in: [888cb5cc24] user: stephan branch: trunk, size: 37277
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: [6e99b43886] check-in: [fd313baef4] user: stephan branch: trunk, size: 37279
18:56
Minor doc updates and added a couple TODOs related removing now-unmanaged files after an rm op. file: [9517a4dd9b] check-in: [419099b063] user: stephan branch: trunk, size: 36724
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: [f321923f82] check-in: [61d3e64e6f] user: stephan branch: trunk, size: 35903
03:58
Minor doc touchups and char-to-bool conversions. file: [54fcb2e80b] check-in: [8a393e5255] user: stephan branch: trunk, size: 32426
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: [62bfedacac] check-in: [200bddbb8a] user: stephan branch: trunk, size: 32071
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: [02c61c277e] check-in: [3bff6c7de8] user: stephan branch: trunk, size: 31464
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: [81b8602960] check-in: [735e9e32ab] user: stephan branch: confirmer-co, size: 30944
03:26
Sped up fsl_is_locally_modified() for the common case by adding a file-size comparison before falling back to hash comparison. file: [d6e460e917] check-in: [53fb496dc8] user: stephan branch: trunk, size: 31029
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: [6e879bc6e9] check-in: [b5479cc3c6] user: stephan branch: trunk, size: 30291
2021-03-06
17:35
fsl_checkout_changes_visit() now treats a callback return of FSL_RC_BREAK like most iteration API do. Doc touchups. file: [326e2e0ec8] check-in: [0bdf51b375] user: stephan branch: trunk, size: 30292
16:27
Improved handling of deleted-by-checkin files via fsl_repo_checkout() and their reporting via f-co. file: [b4e6ced656] check-in: [038cd076ae] user: stephan branch: trunk, size: 30202
2021-03-05
04:29
More tinkering with the f-co/f-open-related infrastructure. file: [fbfcbdfee5] check-in: [13194b49eb] user: stephan branch: trunk, size: 28476
00:07
Got f-co working, but am not sure that the --keep semantics are useful. More refactoring in/around f-open and f-co. file: [d32281b86b] check-in: [eeb7706e6e] user: stephan branch: trunk, size: 27704
2021-03-04
14:27
Added FSL_RC_MISSING_INFO. Minor internal doc cleanups and API result value changes. Reworked how fsl_cx_hash_buffer() returns when its alternative hash option conflicts with the current hash policy. file: [560de5e1e6] check-in: [d1428d5a93] user: stephan branch: trunk, size: 27756
12:28
Numerous cleanups and fixes in/around the infrastructure used by f-open. file: [b45a916600] check-in: [b67129bbb9] user: stephan branch: trunk, size: 27925
2021-03-03
11:36
Added missing change-type values to fsl_checkout_changes_visit(), which could have triggered an assert(), and replaced the assert() with debug output which warns of the mismatch. file: [f7dd625c94] check-in: [eaaffd743b] user: stephan branch: trunk, size: 27670
08:38
Lots of bending and hammering related to smoothing out f-open. There's still an issue when opening an empty checkout (it's seen as not a checkout by other apps), but that's on the to-fix list. file: [0b81595d09] check-in: [2a04a6818c] user: stephan branch: trunk, size: 27670
2021-03-02
09:48
Remove an unneeded(?) parameter from fsl_vfile_load_from_rid(). file: [20c9411590] check-in: [0ba7388df1] user: stephan branch: open-ckout-wip, size: 26898
2021-03-01
16:21
Arguably a typo fix in the new header. Thank goodness for stream editors. file: [8225422eca] check-in: [386316db07] user: stephan branch: trunk, size: 26716
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: [8450249d7f] check-in: [fa5fb24496] user: stephan branch: trunk, size: 26708
12:31
Improved the checkin-to-closed-leaf check to allow checkin if the branch would change. Ported in the reserved filename checks, so that 'add' ops will fail if the user adds a filename which is illegal. file: [d15e1abca5] check-in: [2d90220116] user: stephan branch: trunk, size: 26948
2021-02-27
06:05
More work on the new fcli flags infrastructure. file: [a5655a576e] check-in: [6865f151f9] user: stephan branch: trunk, size: 27011
2021-02-26
19:49
Found the source of the stale merge state in a large comment block. file: [743e0d8347] check-in: [74eabd1b76] user: stephan branch: fcli-flag-rework, size: 26998
18:54
More porting to the newer fcli flags handling. file: [e02fbbbbd7] check-in: [f46b535eaa] user: stephan branch: fcli-flag-rework, size: 26996
2021-02-21
18:27
More enum type renaming. Updated C++/s2 bindings for other recent renamings. file: [2b3c65b74d] check-in: [9c1abb2e95] user: stephan branch: trunk, size: 26151
2021-02-18
05:11
Replaced the extraneous fsl_double_t typedef with double. file: [213b982967] check-in: [b359548620] user: stephan branch: trunk, size: 26150
2021-02-13
23:44
Minkering/testing with replacing the checkin timeline crosslinker. Moved some code around. file: [16bfb734a2] check-in: [c42cfd8c10] user: stephan branch: trunk, size: 26156
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: [d87d7ee341] check-in: [911afa1bcc] user: stephan branch: trunk, size: 24504
2021-02-12
07:41
Added: Header file reorgs. file: [d068ea4bd2] check-in: [c1681af460] user: stephan branch: trunk, size: 24355