Login
All files named ”src/checkout.c”
Login

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

History for src/checkout.c

2024-09-26
13:52
Initialize an uninited var exposed by gcc 4.x file: [51831f1ede] check-in: [04f3b7d2e3] user: stephan branch: trunk, size: 116390
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: [134fc7e0fc] check-in: [f00a5025f5] user: stephan branch: db-hooks, size: 116386
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: [63598a7b97] check-in: [aebe930b2c] user: stephan branch: trunk, size: 116389
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: [84742f2fe0] check-in: [00377f482a] user: stephan branch: trunk, size: 116387
2024-08-01
11:26
When reverting files, report those which were modified only via a merge as reverted (it was formerly not reporting those via the callback). Adjacent cleanups and a potential resource leak fix in two as-yet-have-never-happened error cases. See code comments, in particular in fsl_ckout_revert(), for why this fix is not as satisfactory as it should be. file: [90601df858] check-in: [888c0dfe9a] user: stephan branch: trunk, size: 116004
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: [8dfb6cddbf] check-in: [0e50f798e6] user: stephan branch: trunk, size: 115260
2024-03-28
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: [b9e4748877] check-in: [1f286fb52a] user: stephan branch: ci-close, size: 114862
2023-04-19
02:26
Apply a set of missing f(void) and assigned-but-unused vars from Mark J. file: [629d335511] check-in: [b96f5840ea] user: stephan branch: no-common-ancestor, size: 114867
2022-11-21
03:30
squelch gcc-11.2.0 uninitialised variable warning If fsl_buffer_cstr2() errors out, nOrig isn't initialised. ok stephan@ file: [aebe758669] check-in: [ef78842aea] user: mark branch: trunk, size: 114897
2022-04-06
12:10
Swapped two lines to fix a potential mis-rollback in fsl_ckout_rename(). file: [1343e1a427] check-in: [5e640a2f89] user: stephan branch: trunk, size: 114893
2022-04-03
16:17
Fixed a bug in fsl_ckout_rename() where one part of the vfile table update was missing, triggering an assert in f-vdiff after a rename. Now, after all these years, i have come to understand why Richard chose to (update vfile set origname=pathname where origname is NULL). Always thought that was an odd design decision, but now grasp what its purpose is. file: [30dc04b360] check-in: [7cc1faa141] user: stephan branch: trunk, size: 114893
2022-03-10
03:38
For the fsl_ckout_rename()-related bits, rename the fsMvFile option to doFsMv. file: [a41ff0a429] check-in: [b85863a91d] user: stephan branch: trunk, size: 114768
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: [7a6a89f4de] check-in: [bc7bfb06e3] user: stephan branch: trunk, size: 114776
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: [f5e0dc873b] check-in: [80c84abba6] user: stephan branch: trunk, size: 115672
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: [121d255f13] check-in: [52318ca911] user: stephan branch: trunk, size: 115539
2022-03-07
01:44
Added fsl_ckout_rename_revert() and unit tests. file: [7fcadfa908] check-in: [aa34eddd93] user: stephan branch: trunk, size: 108648
2022-03-05
10:09
Added fsl_ckout_rename(), the core impl of a rename/move operation for SCM-managed files. file: [8021bcf52d] check-in: [4d2e43a8f6] user: stephan branch: trunk, size: 105959
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: [a2885a4412] check-in: [5e12e2134b] user: stephan branch: trunk, size: 101975
2022-01-12
03:36
Initialized a couple vars which gcc 11 now incorrectly reports as possibly uninitialized. Sigh. file: [d5cb29f8be] check-in: [19607914ca] user: stephan branch: trunk, size: 101963
2022-01-03
17:21
Ported in fossil's diff -tk script bits and implemented (f-vdiff --format tk) but the output currently goes to stdout instead of launching tclsh. The TCL dibu can optionally include the TK bits or not, depending on its flags. file: [7229c0f4e1] check-in: [82bf08414f] user: stephan branch: trunk, size: 101959
2022-01-01
14:58
More work on the db handle redux. Seems to work okay. file: [591f814c63] check-in: [71f5f09817] user: stephan branch: cx-db-handle-reorg-redux, size: 102091
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: [011c193990] check-in: [fa7c56d0ca] user: stephan branch: cx-db-handle-reorg-redux, size: 101963
11:15
Renaming of some internal fsl_xyz... APIs to fsl__xyz... (two underscores). Minor constness tweaks. file: [c9cf404fea] check-in: [736abef2cc] user: stephan branch: trunk, size: 102125
01:13
More cleanups moving towards taking another whack at the fsl_cx db handle reorg. Added a test case to f-sanity.c demonstrating the ATTACH-cannot-create error (whereas the sqlite3 shell can create new files that way). file: [0999f2c163] check-in: [51d4b05f5c] user: stephan branch: trunk, size: 102121
2021-12-31
21:54
Cherrypicked [6f2027aeb4], [74964a09a5], and part of [d290f6375c]. file: [65f2a998af] check-in: [211eaecfcf] user: stephan branch: trunk, size: 102217
21:30
Extended fsl__cx_attach_role() to be able to create a new db if needed (required for fsl_repo_create()) but (regardless of this change) discovered that ATTACH, when run through the new fsl_cx::dbMain handle, can no longer create new db files, which means that f-open cannot create a checkout. COMPLETELY stumped as to why that is. Edit: closing because this branch is failing in inexplicable ways and has a horrid mix of branch-relevant and branch-irrelevant changes. Pulling in the branch-irrelevant ones separately into trunk before taking another whack at the branch-relevant ones. file: [c57654f784] check-in: [a67b757dc0] user: stephan branch: cx-db-handle-reorg, size: 102431
15:10
Renamed fsl_db_role_label() to fsl_db_role_name(). Doc touchups related to the db handle restructuring. file: [91b75a0608] check-in: [d290f6375c] user: stephan branch: cx-db-handle-reorg, size: 102144
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: [27d9689662] check-in: [aebf241ab5] user: stephan branch: cx-db-handle-reorg, size: 102145
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: [e1a8efa5d2] check-in: [3f48c073cf] user: stephan branch: trunk, size: 102218
20:21
Removed the fossil- name prefix from include/fossil-scm/*.h. file: [8abd6fee11] check-in: [43a9bea8d5] user: stephan branch: trunk, size: 100957
14:54
Added fsl_ckout_dbnames() and fsl_is_top_of_ckout(), prompted by recent fossil forum traffic. file: [e5dba3561c] check-in: [7a9a409695] user: stephan branch: trunk, size: 100992
13:10
Expanded the fsl_ckout_manage() callback interface analog to the new fsl_ckout_unmanage() changes. file: [0c294fc89f] check-in: [c00159a925] user: stephan branch: trunk, size: 100275
12:34
Expanded fsl_ckout_unmanage()'s callback interface to facilitate client-side unlinking of newly-unmanaged files. Added f-rm --unlink option. file: [1f7779061e] check-in: [9be228a605] user: stephan branch: trunk, size: 99802
2021-12-15
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: [ca78fd07a0] check-in: [4d88f6cbd6] user: stephan branch: trunk, size: 99220
2021-12-14
15:52
More work on the merge port and adjacent code. file: [9a64b4a536] check-in: [b9c2a05cfe] user: stephan branch: trunk, size: 98788
2021-11-30
22:40
Changed several internal temp tables to use (create if not exists/delete) instead of (create/drop) in the hope of proactively avoiding locking issues. This will slightly increase long-term memory usage for certain long-running apps but should ease locking pains for those same apps. file: [f87ffa630e] check-in: [cbaafebf22] user: stephan branch: trunk, size: 98782
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: [1b4477b1e7] check-in: [0031d2f466] user: mark branch: trunk, size: 98776
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: [72f04bee78] check-in: [09094cea7b] user: stephan branch: trunk, size: 98776
2021-11-21
10:02
Constness tweaks. Added a fsl_is_simple_pathname() check to fsl_deck_F_set_content(). file: [6d7e90908f] check-in: [e45da773a8] user: stephan branch: trunk, size: 98740
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: [a251c520a9] check-in: [88757e5411] user: stephan branch: trunk, size: 98734
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: [9f4bc9d263] check-in: [7dd883be5e] user: stephan branch: trunk, size: 98663
00:07
Another constness tweak, a doc fix, and added a TODO to f-revert. file: [0d4ee5a2d3] check-in: [af29e33252] user: stephan branch: trunk, size: 98651
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: [90c50a1f7c] check-in: [83917b7b45] user: stephan branch: trunk, size: 98623
2021-10-19
03:54
Doc and constness updates. Removed the old code related to the long-obsolete open-or-attach mode of fsl_cx db handle management, now using only the attach mode. file: [cd1a1c56dc] check-in: [386039e135] user: stephan branch: trunk, size: 98472
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: [1662a00a51] check-in: [3ff20f1d01] user: stephan branch: port-merge, size: 98465
2021-10-15
07:54
Insignificant cleanups found while scouting out what's needed to port over merge. file: [9d60d3a4e9] check-in: [65b379e3e0] user: stephan branch: trunk, size: 98469
2021-10-08
21:51
Moved from code from f-vdiff into the public API. Several fixes in f-vdiff. file: [a23351e5b3] check-in: [39180d2fe8] user: stephan branch: trunk, size: 98479
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: [153c40a4f1] check-in: [e456c5ab39] user: stephan branch: port-annotate, size: 95838
2021-04-13
13:20
Fixed a broken assert() in fsl_ckout_manage() when current rid==0. Fixed duplicate mlink entries for an initial commit with no parent. Finally realized that the dbs cannot be detached when a transaction is pending and adjusted the fsl_cx db-close interfaces to be able to report that. Started work on a demo app which creates and populates a repo without using a checkout, but it's incomplete - got sidetracked chasing down those bugs. file: [5fa1126dc3] check-in: [fcdeddd18a] user: stephan branch: deck-reworking, size: 95826
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: [38796b1a3b] check-in: [40fcc816f0] user: stephan branch: trunk, size: 95825
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: [7c8128a3a5] check-in: [889d2e32bb] user: stephan branch: trunk, size: 96037
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: [630812524c] check-in: [43d1902823] user: stephan branch: trunk, size: 95422
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: [decbfb86e8] check-in: [0660107d5b] user: stephan branch: trunk, size: 93488
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: [7d2b6eabf7] check-in: [949885a1d3] user: stephan branch: trunk, size: 93539
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: [f8d0ab00e9] check-in: [a527cc940a] user: stephan branch: trunk, size: 91750
2021-03-27
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: [7f7c8aa71b] check-in: [8abd63ab1c] user: stephan branch: trunk, size: 90409
2021-03-24
23:06
Another tiny upstream s2 tweak. Fixed a broken assert in fsl_ckout_update(). file: [0f2683972b] check-in: [0b1a361d6c] user: stephan branch: trunk, size: 90608
07:19
Added SQL UDF fsl_match_vfile_or_dir() and used it to simplify some expressions. file: [53eff0c4a5] check-in: [674cd67c12] user: stephan branch: trunk, size: 90519
06:23
Refactored the remove-empty-dirs APIs a bit. Revert now tries to remove empty dirs of renames. Fixed path handling in revert - was using relative paths which only worked from the top of the tree. Added missing outer transaction in f-revert which could cause a failed revert to leave vfile in a partially-reverted state. file: [0b6f94ded0] check-in: [62c2d986fb] user: stephan branch: trunk, size: 91253
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: [3ac477a0c3] check-in: [4f342af54f] user: stephan branch: trunk, size: 90728
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: [a2c2962e6c] check-in: [09300fddd6] user: stephan branch: trunk, size: 89700
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: [7f158dd72d] check-in: [2c4a018200] user: stephan branch: trunk, size: 88792
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: [73af63951b] check-in: [2cf2cebe3d] user: stephan branch: trunk, size: 88492
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: [1417b45e41] check-in: [8cc33e4e8a] user: stephan branch: trunk, size: 88218
10:01
Changed the signature of fsl_ckout_file_rm(). file: [ec9e855507] check-in: [356e3783c9] user: stephan branch: trunk, size: 82796
2021-03-21
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: [7096a8c6f8] check-in: [1efb02180b] user: stephan branch: trunk, size: 82809
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: [476d25fa88] check-in: [0815bc50d7] user: stephan branch: trunk, size: 81176
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: [88d2c89088] check-in: [29fbb8bbd9] user: stephan branch: trunk, size: 79483
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: [928ab26e62] check-in: [9b9b989b2c] user: stephan branch: trunk, size: 79018
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: [995c30fe89] check-in: [6caa73a8b3] user: stephan branch: trunk, size: 72924
04:19
Several cleanups in/around open/checkout/checkin. file: [836ed19292] check-in: [2c56bac8e2] user: stephan branch: trunk, size: 72897
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: [c24b031cff] check-in: [df39a4d7b2] user: stephan branch: trunk, size: 73072
00:35
More work on the update op. file: [5c73de2659] check-in: [34f0c94b79] user: stephan branch: trunk, size: 72944
2021-03-19
18:12
More work on the update process. Getting close, but time for a break. file: [f80dd02cfe] check-in: [5667e3e23a] user: stephan branch: trunk, size: 69432
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: [934e725caa] check-in: [9d86e51a31] user: stephan branch: trunk, size: 67852
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: [e06efb5364] check-in: [6ceda397ad] user: stephan branch: trunk, size: 60184
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: [532d678069] check-in: [07fd8c1f33] user: stephan branch: trunk, size: 55330
00:54
Moved the calc-update-version algo from f-update.c into the library. file: [670e0289c2] check-in: [3ad694f967] user: stephan branch: trunk, size: 50338
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: [b5be077a81] check-in: [045532178f] user: stephan branch: trunk, size: 48234
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: [68a83668bf] check-in: [8c212df490] user: stephan branch: trunk, size: 48166
2021-03-15
19:01
Tiny doc tweaks. file: [8f340ff9df] check-in: [02eacfa610] user: stephan branch: trunk, size: 48217
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: [ad40ff2d4b] check-in: [15425f1d4c] user: stephan branch: trunk, size: 48217
11:14
Extended the fsl_confirmer API to be able to ask, and get responses to, simple multiple-choice questions. This will be needed, e.g., for performing an update operation when multiple versions are equally viable candidates. file: [021f80e756] check-in: [ccc0fef970] user: stephan branch: trunk, size: 43062
04:25
Globally renamed _checkout to _ckout, as some of these names are getting a bit long. file: [45ed475bdb] check-in: [bc9e88ee2c] user: stephan branch: trunk, size: 42815
2021-03-14
11:48
Renamed fsl_repo_checkout_state::xState to extractState. file: [545a21cb20] check-in: [9c08a8a4ac] user: stephan branch: trunk, size: 42992
2021-03-13
19:18
Doc touchups and replaced a few stray %d refs with % FSL_ID_T_PFMT. (Pedantic, i know, but it might as well be done right.) file: [c4d2d829c6] check-in: [6cb2db9cf2] user: stephan branch: trunk, size: 42980
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: [e884497bd2] check-in: [c77e85e259] user: stephan branch: trunk, size: 42900
06:17
Minor fsl_cx_confirmer() API changes. Removed the extraneous xvfile temp table used by the checkout process and instead use a dual-versioned vfile table. file: [67819726c3] check-in: [e81048d148] user: stephan branch: trunk, size: 42569
05:27
Several minor changes moving us slightly closer to be able to add update support. file: [d3ef2cfce6] check-in: [1329430a6a] user: stephan branch: trunk, size: 43035
2021-03-12
19:31
The hashing routines were responsible for the unexpected buffer resizing, as they were explicitly resizing their output buffers to fit. file: [09331f4dff] check-in: [06f5974d60] user: stephan branch: cx-scratchpad-rework, size: 42360
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: [311ae8ded3] check-in: [01c1cff578] user: stephan branch: cx-scratchpad-rework, size: 42361
13:06
Moved some code around and renamed a struct member for consistency with similar structs. file: [fbb08c4e4a] check-in: [9bd1cfea4b] user: stephan branch: trunk, size: 43780
09:15
Minor refactoring in prep for upcoming changes. file: [2cbaa04dfa] check-in: [888cb5cc24] user: stephan branch: trunk, size: 22991
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: [b10e7b1964] check-in: [fd313baef4] user: stephan branch: trunk, size: 21666
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: [3029592771] check-in: [61d3e64e6f] user: stephan branch: trunk, size: 21659
03:58
Minor doc touchups and char-to-bool conversions. file: [981c142caa] check-in: [8a393e5255] user: stephan branch: trunk, size: 16615
2021-03-09
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: [9447190bc4] check-in: [3bff6c7de8] user: stephan branch: trunk, size: 17028
2021-03-08
19:36
Initial work on integrating fsl_cx_confirm() with the checkout process. It basically seems to work but has several notable TODOs and FIXMEs. file: [9af1003572] check-in: [6dd8166303] user: stephan branch: confirmer-co, size: 17003
11:14
Initial go at a new interactive confirmation API (not yet connected to checkout op). Removed a functionally-duplicated API. Added __func__() to some cached SQL statements in order to simplify tracking their origin (though this keeps those statements from being reused across multiple functions). file: [fb16ccc477] check-in: [9a6bb6834f] user: stephan branch: trunk, size: 17072
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: [6ee718f006] check-in: [53fb496dc8] user: stephan branch: trunk, size: 18305
2021-03-07
13:40
Removed dead code. file: [3b63e14875] check-in: [26e2c2a962] user: stephan branch: trunk, size: 17951
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: [e11ae2d113] check-in: [0bdf51b375] user: stephan branch: trunk, size: 19666
16:27
Improved handling of deleted-by-checkin files via fsl_repo_checkout() and their reporting via f-co. file: [a174687212] check-in: [038cd076ae] user: stephan branch: trunk, size: 19601
2021-03-05
04:29
More tinkering with the f-co/f-open-related infrastructure. file: [ffb7ce50b4] check-in: [13194b49eb] user: stephan branch: trunk, size: 17863
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: [ae0a06790c] check-in: [eeb7706e6e] user: stephan branch: trunk, size: 16927
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: [271a8a9a8b] check-in: [d1428d5a93] user: stephan branch: trunk, size: 16981
12:28
Numerous cleanups and fixes in/around the infrastructure used by f-open. file: [65409af284] check-in: [b67129bbb9] user: stephan branch: trunk, size: 16859
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: [6069a02c44] check-in: [eaaffd743b] user: stephan branch: trunk, size: 16951
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: [de2d88c324] check-in: [2a04a6818c] user: stephan branch: trunk, size: 16800
2021-03-01
16:21
Arguably a typo fix in the new header. Thank goodness for stream editors. file: [5a9eb5a1fa] check-in: [386316db07] user: stephan branch: trunk, size: 16166
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: [0065cd8128] check-in: [fa5fb24496] user: stephan branch: trunk, size: 16158
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: [4b6ef5f6a5] check-in: [2d90220116] user: stephan branch: trunk, size: 16399
2021-02-28
17:10
Started porting in fossil's merge algorithm. It looks like the support algos are all in place, just the main merge is missing. First some sleep, though. file: [e13373e559] check-in: [2cfc9d6ae9] user: stephan branch: trunk, size: 15864
11:49
Removed the superfluous length parameter from fsl_deck_U_set(). file: [c0cd98b714] check-in: [908a2d314c] user: stephan branch: trunk, size: 16253
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: [63c3344bf0] check-in: [8728796601] user: stephan branch: trunk, size: 16257
2021-02-15
03:24
Renamed src/fsl_checkout.c → src/checkout.c. Renamed src/fsl_XYZ.c to src/XYZ.c. f-checkin vfile dump now includes renames. file: [1b731c80ff] check-in: [ed3183170a] user: stephan branch: trunk, size: 16257