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 | |