Login
History of src/vfile.c of 2074b15145fb5cd1
Login

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

History of file src/vfile.c at check-in 2074b15145fb5cd1

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: [ca7cfc3c07] check-in: [f00a5025f5] user: stephan branch: db-hooks, size: 21261
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: [8d78af5e4c] check-in: [888c0dfe9a] user: stephan branch: trunk, size: 21267
2024-07-23
10:26
Fix a bug in fsl_checkin_calc_F_card2() which caused a change of (only) the exec bit to go un-marked in the manifest (the file retained its old exec-bit status, but otherwise no harm done). file: [5bf90ec5a5] check-in: [4243008e11] user: stephan branch: trunk, size: 21208
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: [ff84e32edf] check-in: [075379b921] user: stephan branch: ci-close, size: 21545
2024-01-07
17:59
Upstream patch [fossil:b295f86db5417cea1e7a]: in fsl_vfile_changes_scan(), if mtime of a file is unchanged but is equal to the current system time, check the hash to work around a corner case where a script modifies a file immediately after an open/update. Also fix two code-adjacent misuses of fsl__cx_scratchpad() in that same function, where fsl__cx_scratchpad_yield() was not being called. file: [bc326509fc] check-in: [8616c93b6f] user: stephan branch: trunk, size: 21218
2022-03-05
10:09
Added fsl_ckout_rename(), the core impl of a rename/move operation for SCM-managed files. file: [c4969151e6] check-in: [4d2e43a8f6] user: stephan branch: trunk, size: 20978
2021-12-21
20:21
Removed the fossil- name prefix from include/fossil-scm/*.h. file: [072f7f6e53] check-in: [43a9bea8d5] user: stephan branch: trunk, size: 20476
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: [1b825e3b2e] check-in: [4d88f6cbd6] user: stephan branch: trunk, size: 20504
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: [972cf9a08c] check-in: [83917b7b45] user: stephan branch: trunk, size: 20776
2021-10-20
13:11
Removed fsl_deck::uuid and the fsl_deck_parse() step which tries to map its inputs to an existing db record. While convenient for downstream code, it's a huge performance hit. Checking in to a branch for f-parseparty speed testing compared to the current trunk. file: [063a263714] check-in: [1dc391289c] user: stephan branch: remove-deck-uuid, size: 20755
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: [4dc38e6e79] check-in: [3ff20f1d01] user: stephan branch: port-merge, size: 20777
12:09
More work on the merge operation infrastructure. file: [43664bb42c] check-in: [a6b6f083cb] user: stephan branch: trunk, size: 20753
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: [3ecaa76ebe] check-in: [c9fb1f972f] user: stephan branch: trunk, size: 20747
2021-08-30
12:15
Minor doc, constness, and char-as-bool tweaks. file: [a9b0cc6c42] check-in: [3ada2fce76] user: stephan branch: trunk, size: 20618
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: [75c6f3f889] check-in: [40fcc816f0] user: stephan branch: trunk, size: 20701
2021-03-28
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: [073c4fefbf] check-in: [a527cc940a] user: stephan branch: trunk, size: 21097
2021-03-24
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: [bbd7643534] check-in: [4f342af54f] user: stephan branch: trunk, size: 21096
2021-03-22
19:41
Minor internal cleanups in fsl_vfile_to_ckout(). file: [14d13f410f] check-in: [0039bd6cc4] user: stephan branch: trunk, size: 21612
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: [4e9850e605] check-in: [2cf2cebe3d] user: stephan branch: trunk, size: 21634
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: [cefeab3726] check-in: [8cc33e4e8a] user: stephan branch: trunk, size: 20756
2021-03-21
23:20
Added a missing DISTCLEAN_FILES entry and squelched a couple assigned-but-unused var warnings. file: [327cf55778] check-in: [f8f6871ef8] user: stephan branch: trunk, size: 20505
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: [9d49d03924] check-in: [1efb02180b] user: stephan branch: trunk, size: 20497
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: [e9ee614ed7] check-in: [0815bc50d7] user: stephan branch: trunk, size: 20331
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: [788ffca114] check-in: [29fbb8bbd9] user: stephan branch: trunk, size: 20164
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: [03b0a5e291] check-in: [6caa73a8b3] user: stephan branch: trunk, size: 16397
04:19
Several cleanups in/around open/checkout/checkin. file: [ad4e1a46a8] check-in: [2c56bac8e2] user: stephan branch: trunk, size: 16358
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: [c2741288e6] check-in: [df39a4d7b2] user: stephan branch: trunk, size: 15311
2021-03-15
04:25
Globally renamed _checkout to _ckout, as some of these names are getting a bit long. file: [9e33bd038e] check-in: [bc9e88ee2c] user: stephan branch: trunk, size: 15205
2021-03-13
09:46
Renamed an enum. Minor doc and formatting tweaks. file: [471ef1b3c7] check-in: [efd3f4d510] user: stephan branch: trunk, size: 15223
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: [1ac143aae6] check-in: [c77e85e259] user: stephan branch: trunk, size: 15297
05:27
Several minor changes moving us slightly closer to be able to add update support. file: [6e04df39ec] check-in: [1329430a6a] user: stephan branch: trunk, size: 23689
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: [659beb1b91] check-in: [06f5974d60] user: stephan branch: cx-scratchpad-rework, size: 23563
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: [b0dffd8ff7] check-in: [01c1cff578] user: stephan branch: cx-scratchpad-rework, size: 23505
09:15
Minor refactoring in prep for upcoming changes. file: [cb584f26dd] check-in: [888cb5cc24] user: stephan branch: trunk, size: 23642
2021-03-10
06:20
Lib compiles now but the f-apps, and maybe the other language bindings, are still out of date. Lol - that means i can't check this in with f-ci. file: [f637d664a0] check-in: [e484d5f96e] user: stephan branch: f-card-array, size: 23626
2021-03-08
15:14
Seem to have fixed the broken merge handling in checkin. Caused by prematurely clearing out the vmerge table. file: [f9cbb1db49] check-in: [96b46cc3f0] user: stephan branch: trunk, size: 23624
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: [574b132e89] check-in: [9a6bb6834f] user: stephan branch: trunk, size: 23504
2021-03-07
16:49
Minor internal cleanups. file: [bd9d0a016b] check-in: [7666cd3214] user: stephan branch: trunk, size: 23342
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: [2b738804f7] check-in: [b5479cc3c6] user: stephan branch: trunk, size: 23743
2021-03-05
06:00
f-open and f-co now (mostly) honor --quiet. f-co now deletes files which removed between the original and target checkin unless the --no-rm flag is used. f-co cowardly refuses to check out the same version over itself. BUG: i have seen a few instances where the vvar 'checkout' setting disappears, leading to later app calls saying it's 'not a checkout', but have yet to pin down the origin. file: [4cb1608212] check-in: [da6bcc64ba] user: stephan branch: trunk, size: 23725
04:51
Notes and assertions about F-card traversal not including F-cards with a NULL UUID (indicating that they were deleted in a delta manifest). file: [9938abe8b4] check-in: [30b1a2435b] user: stephan branch: trunk, size: 23712
04:29
More tinkering with the f-co/f-open-related infrastructure. file: [1bdd65522f] check-in: [13194b49eb] user: stephan branch: trunk, size: 23630
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: [f70d925370] check-in: [eeb7706e6e] user: stephan branch: trunk, size: 23191
2021-03-04
16:54
Added fsl_file_exec_set() and changed f-open to use it for setting the +x bit. file: [b67b604b30] check-in: [e57eeac51e] user: stephan branch: trunk, size: 23180
12:28
Numerous cleanups and fixes in/around the infrastructure used by f-open. file: [58afab301f] check-in: [b67129bbb9] user: stephan branch: trunk, size: 23059
2021-03-03
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: [9351f3393b] check-in: [2a04a6818c] user: stephan branch: trunk, size: 23416
2021-03-02
09:48
Remove an unneeded(?) parameter from fsl_vfile_load_from_rid(). file: [ed2e38eda7] check-in: [0ba7388df1] user: stephan branch: open-ckout-wip, size: 22754
2021-03-01
16:21
Arguably a typo fix in the new header. Thank goodness for stream editors. file: [970ae7879f] check-in: [386316db07] user: stephan branch: trunk, size: 22567
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: [01761417c9] check-in: [fa5fb24496] user: stephan branch: trunk, size: 22559
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: [6802c3206c] check-in: [8728796601] user: stephan branch: trunk, size: 22811
2021-02-15
03:24
Renamed src/fsl_vfile.c → src/vfile.c. Renamed src/fsl_XYZ.c to src/XYZ.c. f-checkin vfile dump now includes renames. file: [a30c0869f0] check-in: [ed3183170a] user: stephan branch: trunk, size: 22811
2021-02-12
22:09
libfossil is now C99, rather than C89, per discussion at [https://fossil.wanderinghorse.net/r/libfossil-forum/forumpost/e02ff0e8d0]. fsl_int{16,32,64}_t have been replaced by the standard uint{16,32,64}_t, FSL_xxx_T_PFMT/SFMT replaced with PRIx32 and friends, and auto.def now checks for -std=c99 capability (but that check could probably be done differently/improved). fsl_int_t and fsl_uint_t are retained, as they're more about documentation/intent than fixed sizes. file: [a30c0869f0] check-in: [ee070353b9] user: stephan branch: trunk, size: 22811
07:41
Header file reorgs. file: [4ae2a0c207] check-in: [c1681af460] user: stephan branch: trunk, size: 22839
2021-02-09
05:07
Explicitly insert vfile.mhash with a NULL value. file: [049b05b4bb] check-in: [ac52d23368] user: stephan branch: trunk, size: 22763
00:18
Updated license text in almost all C/H to claim copyright while attributing all of the files as heavily derived from DRH's work. file: [4cf9534f95] check-in: [631fb3f69a] user: stephan branch: trunk, size: 22752
2021-02-08
23:47
Renamed the hash length constants. file: [2ca6e3e40f] check-in: [0c9a6d3644] user: stephan branch: trunk, size: 22710
18:23
f-apps compile and f-sanity runs. MILESTONE. Still need to test the other f-apps, though. file: [66275ab8e0] check-in: [76c290eb05] user: stephan branch: sha3-port, size: 22714
2021-02-07
14:31
Globally replaced http://... URLs with https://.... Most of them probably still work, too. file: [3dfb417f27] check-in: [6af7b3b7c8] user: stephan branch: trunk, size: 22349
2014-06-26
10:08
Make libfossil compile with MinGW. Not useful yet because only symbols from fossil-core.h are exported from the dll for now. file: [cab4ededce] check-in: [fc3a9850a1] user: jan.nijtmans branch: trunk, size: 22348
2014-04-06
18:48
Fixed fsl_vfile_load_from_rid() to work with rid==0 (empty repo). file: [479330b621] check-in: [606ddf4798] user: stephan branch: trunk, size: 22238
2014-03-28
21:33
All sorts of minor warning fixes revealed by compiling the amalgamation in Qt Creator. fsl_delta.c is not warning-free yet b/c my attempts to fix the signedness complaints have broken it. file: [fe598cb4ca] check-in: [cb99e115a4] user: stephan branch: trunk, size: 22055
19:45
fsl_checkin_commit() now works on an empty repo (version RID==0). file: [d487b855a8] check-in: [41f65654ce] user: stephan branch: trunk, size: 22079
2014-03-18
22:10
A long evening of minor generic cleanups. Added missing output support for Attachment artifacts. Still missing crosslinking support for them. file: [4122adf83a] check-in: [0bf60903ea] user: stephan branch: trunk, size: 22078
2014-03-15
17:36
s/FSL_FS_PERM/FSL_FILE_PERM/gi. Minor tinkering with the vfile scanning process. file: [59e9d0e859] check-in: [c8c97fd8fe] user: stephan branch: trunk, size: 22772
2014-03-13
21:50
Corner case fix for first checkin in a repo. file: [00ee289dde] check-in: [ab6c9982c1] user: stephan branch: trunk, size: 13076
20:53
improvements to permissions-only change detection. file: [7a472d3a0f] check-in: [9a07a78159] user: stephan branch: trunk, size: 13161
2014-03-11
20:07
removed extraneous newlines from error strings. file: [f009e00352] check-in: [9cff5b2f75] user: stephan branch: trunk, size: 12201
2014-03-09
10:19
This is the very first checkin performed by libfossil on its own repo. Pray. Hard. file: [db4005db00] check-in: [79460b24aa] user: stephan branch: trunk, size: 12205
2014-02-14
18:19
converted a statement to a cached statement. file: [f9516ac579] check-in: [3e35c48616] user: stephan branch: trunk, size: 11318
12:32
Renamed fsl_card_F::perms to perm and gave it the proper type (was relying on int-to-enum implicit conversions before). Build deps fix. file: [e16c2191a9] check-in: [0f6261ee4d] user: stephan branch: trunk, size: 11346
10:36
Reordered some arguments. Implemented fsl_repo_extract(), which will be the basis of checkout-like behaviours. file: [3252b0604f] check-in: [e713b48c83] user: stephan branch: trunk, size: 11348
09:05
Globally changes the API docs from fossil/sqlite-style '**' to Doxygen-friendly format because the extra stars hinder writability/changability and require an extra filter at the doxygen-processing level. file: [4539b677e4] check-in: [a2cbd2e343] user: stephan branch: trunk, size: 11348
2014-02-12
20:42
Moved ZIP-creation code into the public API. Expanded and fixed it considerably. Added f-zip tool. file: [5d78335348] check-in: [54a3117046] user: stephan branch: trunk, size: 11348
2014-02-11
17:46
Introducing fsl_checkout_changes_scan() and FSL_VFILE_CKSIG_CLEAR_VFILE. file: [06b381cc55] check-in: [6e40329da3] user: stephan branch: trunk, size: 11348
2014-02-10
18:29
Consolidated FSL_ATYPE_xxx and FSL_CATYPE_xxx into FSL_CATYPE_xxx, replaced fsl_atype_t with fsl_catype_t. file: [c5ffdf79a9] check-in: [c0ca757a66] user: stephan branch: trunk, size: 11278
2014-02-09
17:25
Minor API renamings. Started sketching out what a checkin/commit function might look like, but it's a long way from working. file: [add9fb6f5c] check-in: [60b268ff0a] user: stephan branch: trunk, size: 11279
2014-02-07
23:47
changed how the fossil(1) vfile multi-version compat workaround is applied by f-status. file: [88037dd9df] check-in: [11b07f3d35] user: stephan branch: trunk, size: 11289
23:33
a number of cleanups/fixes/additions to the checkout change-reporting code. file: [926c817b95] check-in: [e2ec5d675f] user: stephan branch: trunk, size: 11289
21:20
Mostly implemented fsl_vfile_check_sig(), and f-status can now update/show the change status of files in the current checkout. Other minor cleanups. file: [e80fe93966] check-in: [5230586d98] user: stephan branch: trunk, size: 11297
2014-02-01
23:24
minor (yet unsightly) portability cast. file: [bd37ee2db9] check-in: [a0e95de6e9] user: stephan branch: trunk, size: 4108
2013-10-01
08:22
fixed the incomplete changes to the last commit (apparently got distracted in the middle somewhere). file: [e4bdc56cc5] check-in: [f2e6bc9235] user: stephan branch: trunk, size: 4098
2013-09-24
20:15
minor cleanups in as-yet-unusued closed. file: [73f477e642] check-in: [28d48303f7] user: stephan branch: trunk, size: 4021
2013-09-18
17:21
minor code tweaks in as-yet-untested/untestable code. file: [35a21e6c72] check-in: [e0d628e9db] user: stephan branch: trunk, size: 4029
2013-09-07
09:44
minor doc and error handling cleanups. file: [1ffcc7257e] check-in: [2227357f89] user: stephan branch: trunk, size: 3701
2013-09-02
21:43
Added: Started porting in vfile bits. Added fsl_needs_checkout(). fsl_XXX_close() now explicitly closes all other dbs if XXX is the current main db. file: [ba2982088d] check-in: [7bb0a64e7e] user: stephan branch: trunk, size: 3804