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