Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file include/fossil-scm/fossil-repo.h at check-in da6bcc64ba6f10e5
2025-03-25
| ||
16:04 | Add fsl_artifact_to_json() UDF. file: [1e1c2e4ee8] check-in: [2c5339b85c] user: stephan branch: artifact-to-json, size: 164000 | |
15:37 | Implement fsl_deck_to_json(). Corresponding UDF is still TODO. file: [ab51c4ad47] check-in: [9023ab840a] user: stephan branch: artifact-to-json, size: 163917 | |
13:49 | Initial work for porting over [fossil:/timeline?r=artifact-to-json]. The API skeleton is in place but the core to-json is not. file: [deb2cbf574] check-in: [0c7c6d665d] user: stephan branch: artifact-to-json, size: 163483 | |
2024-09-24
| ||
21:13 | Add --private flag to f-ci. It seems to work, too. file: [7fc31e5a25] check-in: [f511d7e632] user: stephan branch: trunk, size: 163275 | |
18:22 | Comment and doc cleanups. file: [a17b56ead2] check-in: [6c21831158] user: stephan branch: trunk, size: 163276 | |
15:43 | Extend fsl_mtime_of_manifest_file() to be able to return the mtime of any artifact type if given a file ID of 0 or less. Simplify its internal impl a bit. file: [47ce686b69] check-in: [71fbbe959b] user: stephan branch: trunk, size: 163106 | |
2024-02-03
| ||
16:18 | More tinkering with the SEE integration, but this reveals that we have to(?), for portability's sake, limit encryption to repositories and checkouts, and keep the global config from being encrypted (else we risk breaking fossil(1)'s use of the config db). It also begs the question of whether arbitrary databases opened via the fossil API should get this support (which would require a different API, as the db API can be used without a fsl_cx object). file: [f108fb5032] check-in: [f226dbd76a] user: stephan branch: sqlite-see, size: 163007 | |
2023-04-19
| ||
02:26 | Apply a set of missing f(void) and assigned-but-unused vars from Mark J. file: [bc0f694141] check-in: [b96f5840ea] user: stephan branch: no-common-ancestor, size: 163008 | |
2023-02-02
| ||
10:04 | Correct FTS index check handling and ensure the cached value of the check is invalidated on open/close of the repo. file: [9279547009] check-in: [8f60ec4138] user: stephan branch: trunk, size: 162976 | |
2022-10-18
| ||
13:50 | Merge in trunk. file: [f466a0486e] check-in: [24a840f9cf] user: stephan branch: dev-blame-ignore, size: 163249 | |
2022-06-27
| ||
07:03 | Make sure that #defines for prototypical "empty" structs are complete. file: [1ba9292895] check-in: [029c225df6] user: bch branch: trunk, size: 162940 | |
2022-05-12
| ||
10:37 | Merged in trunk. file: [3eefa9b905] check-in: [1ba4514284] user: stephan branch: dev-blame-ignore, size: 163226 | |
2022-04-21
| ||
10:58 | Ported in [fossil:c92fb60ba9e1829a], which adds the "start:" prefix option for fsl_sym_to_rid() lookups. file: [dd54e85ce9] check-in: [bfd34748e6] user: stephan branch: trunk, size: 162917 | |
2022-03-10
| ||
04:50 | Minor constness tweaks and removed a superfluous NULL arg check. file: [e97a8849e5] check-in: [420a8985e1] user: stephan branch: trunk, size: 162554 | |
2022-02-15
| ||
14:46 | As per Stephan's suggestion in /chat, pluralise ignoreRid(s). file: [8ae7b18df7] check-in: [36b2799c8e] user: mark branch: dev-blame-ignore, size: 162843 | |
14:33 | Enable ignoring specific commits when annotating file. Add flag to annotate options struct to ignore all merge commits. Similarly, provide array to assign rid values of specific versions to ignore specified commits. If either are set, any changed lines from the ignored version(s) will be annotated from the previous commit in the file history. file: [863e57bbc4] check-in: [79fd090adb] user: mark branch: dev-blame-ignore, size: 162841 | |
2022-02-04
| ||
14:22 | Initial port of Fossil's files-of-checkin (foci) vtable. First pass of porting fossil(1) src/foci.c to libfossil; it's pretty much a 1:1 port using libf's ADTs. This builds, but the implementation isn't used anywhere so that's not a surprise. There is no test yet either, so branching this for further review. file: [e2547cddd0] check-in: [677d51061d] user: mark branch: wip-foci, size: 162646 | |
2022-01-26
| ||
18:04 | Corrected an argument type in fsl_branch_of_rid() which broke variadic arg handling in that function on platforms where fsl_int_t and fsl_id_t are different sizes. file: [f3df947e8b] check-in: [bcbfb21894] user: stephan branch: trunk, size: 162534 | |
2022-01-08
| ||
05:45 | Per /chat discussion, changed semantics of fsl_tkt_id_to_rids() to be able to handle an unambiguous ticket ID prefix. file: [028ca428a6] check-in: [2bdb6c668f] user: stephan branch: trunk, size: 162535 | |
03:56 | Replaced the fundamentally flawed fsl_tkt_id_to_blob() with fsl_tkt_id_to_rids(). file: [2f8a235ab5] check-in: [7b2cbb1669] user: stephan branch: trunk, size: 162469 | |
2022-01-07
| ||
23:40 | Added fsl_deck_foreach(). file: [29fcc514ad] check-in: [0741f4d194] user: stephan branch: trunk, size: 162413 | |
19:06 | Added fsl_tkt_id_to_blob() for Brad. file: [4c8929a6a2] check-in: [7d64642d36] user: stephan branch: trunk, size: 160680 | |
06:28 | reference fsl_deck_C_set() in comment-notes file: [06da371f8d] check-in: [70abc44543] user: bch branch: trunk, size: 159520 | |
2022-01-04
| ||
22:02 | Added fsl_randomness(). Changed fsl_deck_K_set() semantics such that a NULL ticket ID is interpreted as a new (random) ID. file: [03a2dccc9d] check-in: [896ea2a01b] user: stephan branch: trunk, size: 159495 | |
21:38 | Replaced a couple remaining char-as-bool references with bool. file: [db5dba5e19] check-in: [1ac20eeb41] user: stephan branch: trunk, size: 159331 | |
03:08 | ncurses diff view: add keybindings to jump to next/previous file in the diff list. file: [5c80a56c3a] check-in: [aa723e9a15] user: stephan branch: trunk, size: 159331 | |
00:44 | Minor doc tweaks. file: [c0398fa462] check-in: [a7861ad0da] user: stephan branch: trunk, size: 159324 | |
2022-01-01
| ||
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: [24a30bb5f5] check-in: [fa7c56d0ca] user: stephan branch: cx-db-handle-reorg-redux, size: 159500 | |
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: [741526d18e] check-in: [39645644a7] user: stephan branch: trunk, size: 160340 | |
21:36 | Cherrypicked [74964a09a5] (doxygen tag fix). file: [ecc59bcec2] check-in: [326482e519] user: stephan branch: trunk, size: 151869 | |
15:50 | Corrected names of several @file doxygen tags. file: [36abfe8112] check-in: [74964a09a5] user: stephan branch: cx-db-handle-reorg, size: 160375 | |
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: [040e86209f] check-in: [aebf241ab5] user: stephan branch: cx-db-handle-reorg, size: 160382 | |
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: [70a51d6fa5] check-in: [1d7a6d2b96] user: stephan branch: trunk, size: 151876 | |
2021-12-23
| ||
07:01 | Added fsl_cidiff() API and f-test-cidiff test app. file: [9ff248e289] check-in: [1c6aeaf5ce] user: stephan branch: trunk, size: 151858 | |
2021-12-21
| ||
20:21 | Renamed and modified include/fossil-scm/fossil-repo.h → include/fossil-scm/repo.h. Removed the fossil- name prefix from include/fossil-scm/*.h. file: [cad60b6d1a] check-in: [43a9bea8d5] user: stephan branch: trunk, size: 144274 | |
2021-12-17
| ||
18:35 | Minor constness tweaks. Added a note about how fsl_repo_rebuild() handles corruption such as that reported at [https://fossil-scm.org/forum/forumpost/f4cc31863179f843]. Removed a completed TODO comment. file: [55bc3c1b59] check-in: [9886240dfc] user: stephan branch: trunk, size: 144288 | |
2021-12-04
| ||
07:39 | Internal restructuring of crosslink callback handling, such that registered listeners are called at a later phase for ticket artifacts. This should allow client-side listeners to overwrite timeline entries for tickets without too much hassle (that wasn't possible at all before this change). file: [d9fff671e2] check-in: [8349911eb6] user: stephan branch: trunk, size: 144275 | |
06:36 | (Finally) implemented ticket crosslinking. file: [0148302559] check-in: [d8e8c16cc4] user: stephan branch: trunk, size: 143352 | |
2021-12-03
| ||
08:36 | Minor internal cleanups and costness tweaks. file: [0ad93c481e] check-in: [8541d31570] user: stephan branch: trunk, size: 143322 | |
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: [4d5384cfc1] check-in: [cbaafebf22] user: stephan branch: trunk, size: 143174 | |
15:43 | Added fsl__cx_clear_cached_stmt() to forcibly clear ALL cached fsl_stmt handles held by a fsl_cx and use that from fsl_repo_rebuild() to ensure that the cache is cleared before beginning work. This is a hypothetical/proactive fix for a problem which has not yet been seen in the wild but seems very likely, given recent locking issues reported by Mark. Branching this for now because i cannot reproduce similar locking problems which fsl_repo_rebuild() should hypothetically trigger without this addition. file: [2c2e8cd3f6] check-in: [f9d39435cf] user: stephan branch: clear-cached-stmt, size: 143048 | |
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: [1b6be62225] check-in: [09094cea7b] user: stephan branch: trunk, size: 143024 | |
2021-11-22
| ||
05:31 | Added f-extract tool, per suggestion in [https://fossil-scm.org/forum/forumpost/fcca51d3eb2757f7|fossil forum post fcca51d3eb2757f7]. file: [4763b442f9] check-in: [f7fdf3db10] user: stephan branch: trunk, size: 143004 | |
2021-11-21
| ||
16:21 | Moved fsl_branch_of_rid() into the public API. Added several new options to f-ciwoco. file: [1edd25c43d] check-in: [2b33b91772] user: stephan branch: trunk, size: 142992 | |
14:23 | Added initial versino of the f-ciwoco app. Several minor API tweaks, including changing semantics of NULL args to fsl_deck_save() and the return semantics of fcli_fax(). file: [4115cefeda] check-in: [618d1b864a] user: stephan branch: trunk, size: 141784 | |
10:02 | Constness tweaks. Added a fsl_is_simple_pathname() check to fsl_deck_F_set_content(). file: [c45143b2cf] check-in: [e45da773a8] user: stephan branch: trunk, size: 141269 | |
04:26 | Remove dated comment from the annotate API options doc. stephan@ implemented the timer-based limit option to the annotate operation in [35b8297bc34b]. file: [8d01407e71] check-in: [70ee710a3d] user: mark branch: trunk, size: 140779 | |
2021-11-20
| ||
17:43 | Reworked how the caching is handled for several of the very-frequently-prepared SQL statements, cutting the fsl_repo_rebuild() time by more than half (within 100ms of fossil's own speed, with the minor caveat that we don't yet rebuild tickets). A non-debug build of f-rebuild can now rebuild this repo in 900-odd milliseconds, and a debug build in roughly twice that. A non-debug build can rebuild fossil's own repo in 44s, down from 111s (but still almost twice what fossil itself needs). Edit: LOL, it turns out that the tremendous speed was due to a bug fixed in [3e2c083d8014a0fa]. Now it's back to approximately the speed it was before this checkin. Oh, well. file: [09eb9315c0] check-in: [9f3a868d35] user: stephan branch: trunk, size: 140945 | |
16:17 | Corrected wiki-listing queries to skip over tags named wiki-... which are not actually wiki pages. Constness cleanups. file: [118dc89107] check-in: [23c2d4d185] user: stephan branch: trunk, size: 140939 | |
12:09 | Shaved another 11.5k allocations off of rebuild (of the libfossil repo) by caching the chain of blob delta children IDs and applying the external buffer approach to fsl_content_blob()'s pre-uncompress result. file: [20d922aa0b] check-in: [e9d92f12a6] user: stephan branch: trunk, size: 140909 | |
2021-11-19
| ||
11:15 | Tightented the lexical sorting check of T-tags in fsl_deck_parse2(). file: [4fb928733f] check-in: [710313321a] user: stephan branch: trunk, size: 140844 | |
09:40 | Added some of the missing bits for crosslinking tickets. Still more to do, though. file: [0adf18b6fd] check-in: [94e7cd6207] user: stephan branch: trunk, size: 140847 | |
08:10 | Diverse generic internal and doc cleanups. file: [cc8836d692] check-in: [06f92b7689] user: stephan branch: trunk, size: 140624 | |
05:50 | Moved fsl_repo_rebuild() into the public API and added some new state to fsl_rebuild_step and new metrics to f-rebuild. Rebuild adds a few more entries in the event table than fossil does (investigation is TODO) but otherwise seems to behave. file: [928b0e31df] check-in: [c389ae9908] user: stephan branch: trunk, size: 139170 | |
2021-11-18
| ||
07:58 | More work on fsl_repo_rebuild(). It seems to work, with the caveat that ticket crosslinking is mostly unimplemented (and will remain so for the foreseeable future), but it's dog, dog slow (about 1/10th of fossil's speed). Needs more testing before moving from f-rebuild.c into the library. file: [af20a83bc6] check-in: [ae8d020e4f] user: stephan branch: trunk, size: 133303 | |
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: [fe6131d3b5] check-in: [83917b7b45] user: stephan branch: trunk, size: 133275 | |
14:09 | Further tweaking of buffer memory ownership for fsl_deck_parse(). Minor adjacent tweaking. file: [d904eedeb7] check-in: [7948748ba0] user: stephan branch: trunk, size: 133270 | |
00:21 | More work on rebuild and adjacent code. Removed 'restrict' keyword from fsl_strlcpy() and fsl_strlcat() because they break in C++ compilation mode. Renamed fsl_guess_user_name() to fsl_user_name_guess() (consistency) and added fsl_cx_user_guess(). file: [8d0d6bb376] check-in: [3bcb631b4f] user: stephan branch: trunk, size: 132896 | |
2021-11-01
| ||
21:25 | More work on f-rebuild and related crosslinking bits. file: [3aa8335f4d] check-in: [8c51e45f8f] user: stephan branch: trunk, size: 132192 | |
2021-10-21
| ||
17:42 | A pile of constness and char-as-bool tweaks in the db API. file: [0fbef644e4] check-in: [d571c6f692] user: stephan branch: trunk, size: 133747 | |
16:28 | Added a timer-based limit option to the annotate operation, much like fossil's, allowing the user to limit it to X milliseconds (CPU time) of work. Added f-annotate --ms flag to make use of this. file: [784189995f] check-in: [35b8297bc3] user: stephan branch: trunk, size: 133467 | |
2021-10-20
| ||
14:26 | Doc updates related to the removal of fsl_deck::uuid. Fixed a mismatched transaction start/end in one particular error case in fsl_deck_crosslink() (when loading baseline of a delta manifest failed). file: [32063af58f] check-in: [1742cabfde] user: stephan branch: trunk, size: 132781 | |
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: [fcca0cda41] check-in: [1dc391289c] user: stephan branch: remove-deck-uuid, size: 132650 | |
2021-10-19
| ||
10:03 | Doc updates and minor internal code reorgs. file: [d9a17bbe00] check-in: [9542202a90] user: stephan branch: trunk, size: 131327 | |
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: [9be58a5674] check-in: [77e8ee40f8] user: stephan branch: trunk, size: 131197 | |
2021-10-16
| ||
13:28 | More work on porting over merge infrastructure. file: [4af5cd8a6e] check-in: [bc66e6a73a] user: stephan branch: trunk, size: 131225 | |
12:09 | More work on the merge operation infrastructure. file: [e562946574] check-in: [a6b6f083cb] user: stephan branch: trunk, size: 130925 | |
2021-10-14
| ||
07:06 | Replaced fsl_annotate_step::ymd (string) with fsl_annotate_step::mtime (Julian Day) and moved its formatting into the client-specified callback. This saves one allocation per version in an annotation and frees the user to use whatever time precision they care to. file: [2be7972ded] check-in: [8e98360ec3] user: stephan branch: trunk, size: 130919 | |
02:17 | Extended fsl_annotate_step interface with a stepType member to tell the callee what type of annotation step is happening. Changed semantics of fsl_annotate_step::stepNumber. Added more annotation docs. file: [2695ec96fe] check-in: [be38221c82] user: stephan branch: trunk, size: 131432 | |
2021-10-13
| ||
09:58 | Renamed fsl_annotate_step_f_output_f() to fsl_annotate_step_f_fossilesque(). file: [f26f199e1e] check-in: [7e9f766bc5] user: stephan branch: trunk, size: 130142 | |
09:35 | Initial implementation of a new callback interface for fsl_annotate() which moves the burnden of formatting to the caller (with an implementation provided which formats like fossil does). file: [08866d5495] check-in: [24bc694bf8] user: stephan branch: trunk, size: 130116 | |
2021-10-08
| ||
21:51 | Moved from code from f-vdiff into the public API. Several fixes in f-vdiff. file: [ee4f58616e] check-in: [39180d2fe8] user: stephan branch: trunk, size: 126589 | |
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: [58332df8f1] check-in: [e456c5ab39] user: stephan branch: port-annotate, size: 126352 | |
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: [d71bd8862e] check-in: [150bb5b77c] user: stephan branch: port-annotate, size: 126054 | |
2021-10-03
| ||
09:04 | Fixed a segfault in f-zip when trying to zip an unnamed project. Fixed fsl_repo_manifest_write() to not require an opened checkout so long as it is given an RID to work with. file: [8c8d181ea1] check-in: [b7282cdbdc] user: stephan branch: trunk, size: 125281 | |
2021-10-02
| ||
18:12 | More work on the annotate interface, plus far too many nearby-yet-unrelated tweaks such as costness changes. file: [79e726267b] check-in: [b601f20cff] user: stephan branch: trunk, size: 125177 | |
14:11 | Started work on the annotate/praise/blame interfaces but they're not yet even remotely implemented. file: [16c63d6634] check-in: [434ede2046] user: stephan branch: trunk, size: 124492 | |
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: [4149a9f8c4] check-in: [395518ff88] user: stephan branch: trunk, size: 122405 | |
2021-04-14
| ||
04:10 | Renamed fsl_cx_forbids_delta_manifests() to fsl_repo_forbids_delta_manifests() because it's really a repo-level setting. file: [80b8e47bf4] check-in: [755c059371] user: stephan branch: trunk, size: 121222 | |
03:53 | Renamed fsl_cx_forbid_delta_manifests() to fsl_cx_forbids_delta_manifests() so that it doesn't sound like a setter function. file: [df1111c826] check-in: [7501bb92f9] user: stephan branch: trunk, size: 121218 | |
03:38 | fsl_deck_save() now honors the forbid-delta-manifests policy, rejecting any delta manifests. fsl_deck_derive() now converts any delta manifest to a baseline in order to avoid certain corner cases. Added some f-sanity tests for these new cases. file: [7c07c19133] check-in: [ea6074b8ad] user: stephan branch: trunk, size: 121179 | |
2021-04-13
| ||
15:18 | Added fsl_deck_branch_set() and f-test-ciwoco now uses it. Fixed a _potential_ error-catching bug in the %j fsl_appendf() handler (which is still pending a port to fsl_output_f() return semantics). file: [15d6f17a2d] check-in: [e9aed30c66] user: stephan branch: trunk, size: 120090 | |
07:33 | More work on the fsl_deck_derive()-related bits. Internal API modernization in fsl_content_put_ex(). file: [b00ca47421] check-in: [64b07ff5a8] user: stephan branch: deck-reworking, size: 119554 | |
05:28 | Removed fsl_deck::error, relying on fsl_deck::f::error instead. Added fsl_deck_F_set() in prep for APIs to simplify creating new checkins without requiring a checkout. Fixed a U-card validation bug in fsl_deck_output(). file: [cbe534b563] check-in: [f839ab3edd] user: stephan branch: deck-reworking, size: 118243 | |
2021-04-12
| ||
15:48 | Fixed, i believe, the checkin process not properly tagging the new leaf, caused by swapped handling of the is-it-a-leaf result. Need to make a commit to actually test it, though. Edit: worked :). file: [e99fc2096e] check-in: [2791e665cc] user: stephan branch: trunk, size: 114681 | |
2021-04-10
| ||
11:14 | API doc cleanups, removed some extraneous is-NULL checks on function arguments, and added a couple assert()s to f-sanity.c. file: [ae44cd1279] check-in: [e314f2f9df] user: stephan branch: trunk, size: 114521 | |
2021-04-09
| ||
11:07 | fsl_deck_F_foreach() signature changed to remove the option which caused looping to behave differently for delta manifests, as that difference is an internal detail. Fixed the FSL_RC_BREAK return case of fsl_deck_F_foreach(). file: [6dd5e7718b] check-in: [176d9af72a] user: stephan branch: trunk, size: 114119 | |
2021-03-24
| ||
22:56 | Minor doc tweaks and added auto.def check for libreadline for the sake of f-s2sh. file: [f8b38848ec] check-in: [252a8c3327] user: stephan branch: trunk, size: 114739 | |
15:05 | Refactored how the checkin manifest R-card is calculated, to simplify recalculating and verifying it from higher-level code. Renamed f-mfparse to f-aparse. Renamed fsl_hash_types_t to fsl_hash_types_e for naming consistency. file: [704745d75c] check-in: [81cbf6794f] user: stephan branch: trunk, size: 114726 | |
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: [5a9a8fad49] check-in: [0815bc50d7] user: stephan branch: trunk, size: 112772 | |
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: [70d868ee0e] check-in: [9b9b989b2c] user: stephan branch: trunk, size: 112189 | |
2021-03-19
| ||
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: [38a5bf6a0b] check-in: [07fd8c1f33] user: stephan branch: trunk, size: 111826 | |
2021-03-18
| ||
23:36 | f-update can now figure out which version to update to, but... baby steps. file: [fd5ddc8cf2] check-in: [7a11d37185] user: stephan branch: trunk, size: 111586 | |
19:29 | Pedantic doc tweaks. file: [2a59585674] check-in: [ccc528b363] user: stephan branch: trunk, size: 109730 | |
19:19 | Moved the code for listing ambiguous hash prefixes from f-resolve to fcli. More work on the infrastructure needed for f-update. file: [d362f651cf] check-in: [b50971a43e] user: stephan branch: trunk, size: 109729 | |
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: [21b6d8f696] check-in: [15425f1d4c] user: stephan branch: trunk, size: 108409 | |
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: [4d58f18a6f] check-in: [ccc0fef970] user: stephan branch: trunk, size: 122985 | |
04:25 | Globally renamed _checkout to _ckout, as some of these names are getting a bit long. file: [96686c6504] check-in: [bc9e88ee2c] user: stephan branch: trunk, size: 122980 | |
03:35 | Moved a couple functions out of the public API. file: [2e401908e8] check-in: [40c2c455fc] user: stephan branch: trunk, size: 123151 | |
2021-03-14
| ||
21:23 | Moved some config-settings-related stuff out of the public API for the time being. file: [9bb28ad6e2] check-in: [2c6c7eda48] user: stephan branch: trunk, size: 124602 | |
11:48 | Renamed fsl_repo_checkout_state::xState to extractState. file: [13b76305e9] check-in: [9c08a8a4ac] user: stephan branch: trunk, size: 124568 | |
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: [9c7ac18423] check-in: [6cb2db9cf2] user: stephan branch: trunk, size: 124532 | |
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: [8feb469f5b] check-in: [e81048d148] user: stephan branch: trunk, size: 124554 | |
04:10 | Added total/current file counters to fsl_repo_extract_state so that clients can calculate progress percentage. file: [e227e72fed] check-in: [356da76d92] user: stephan branch: trunk, size: 124292 | |
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: [1f06361375] check-in: [01c1cff578] user: stephan branch: cx-scratchpad-rework, size: 123997 | |
13:48 | Minor API renaming, for consistency. file: [9277aa0082] check-in: [f2fc1f3efd] user: stephan branch: trunk, size: 123113 | |
13:06 | Moved some code around and renamed a struct member for consistency with similar structs. file: [27e946c3a7] check-in: [9bd1cfea4b] user: stephan branch: trunk, size: 123039 | |
2021-03-11
| ||
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: [6d0fe27d18] check-in: [61d3e64e6f] user: stephan branch: trunk, size: 122498 | |
15:29 | Added fsl_deck_clean2(). Minor iprovements in f-parseparty, most notably to run the leaf rebuild after crosslinking checkins and/or tags, to avoid having (only sometimes) incorrect is-leaf markings (the reason why that happens, and whether it's an actual mistake or a side-effect of unfortunate parse ordering) is unclear). Other trivial internal cleanups. file: [3ce938ef76] check-in: [6bdb294442] user: stephan branch: trunk, size: 122360 | |
2021-03-10
| ||
08:32 | Merged in f-card-array branch. Not the huge performance win i was hoping for but an overall win. file: [fe51306526] check-in: [0626035798] user: stephan branch: trunk, size: 121619 | |
08:25 | Renamed the 'F2' F-card temporary porting name back to F. file: [502d80a0d2] check-in: [63e886fff0] user: stephan branch: f-card-array, size: 121378 | |
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: [67be768955] check-in: [e484d5f96e] user: stephan branch: f-card-array, size: 121418 | |
06:02 | Initial work on refactoring fsl_deck::F from an array of pointers to an array of objects to speed up (potentially drastically) artifact parsing by cutting F-card (de)allocations by 99% or more. Does not yet compile. file: [fa6df16c0f] check-in: [725c13c0d0] user: stephan branch: f-card-array, size: 121436 | |
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: [28573c3e95] check-in: [200bddbb8a] user: stephan branch: trunk, size: 121132 | |
06:01 | Minor confirmer cleanups and docs. file: [d1ac5d80da] check-in: [d58d30707f] user: stephan branch: confirmer-co, size: 121115 | |
05:17 | It seems we just about have the confirmer bits working for f-co. Had to change the semantics of --keep, but the older semantics feel really weird. Needs a bit more testing. file: [3a076e88af] check-in: [ed0fa2b56a] user: stephan branch: confirmer-co, size: 122072 | |
01:22 | Fixed a couple broken error checks. f-co --quiet --verbose now lists only files which actually changed, rather than all files. file: [e3b45838a9] check-in: [85113ee198] user: stephan branch: confirmer-co, size: 122392 | |
00:13 | Minor tweaks of the confirmer bits. file: [337e42f0ce] check-in: [13fb58bfdd] user: stephan branch: confirmer-co, size: 122331 | |
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: [e4c81194bc] check-in: [735e9e32ab] user: stephan branch: confirmer-co, size: 122274 | |
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: [5e1bf60fda] check-in: [6dd8166303] user: stephan branch: confirmer-co, size: 121487 | |
13:23 | Renamed FSL_CANSWER_xxx to FSL_CRESPONSE_xxx. Changed some queries from cached to non-cached. Added /*__func__()*/ to the end of many queries to make them easy to track down via sqlite trace output. file: [0b260ee5ed] check-in: [c8b25fe30f] user: stephan branch: trunk, size: 121078 | |
2021-03-07
| ||
12:35 | Implemented f-co --manifest. file: [bf436d3cf6] check-in: [91a9c30303] user: stephan branch: trunk, size: 121078 | |
11:40 | Removed dangling bits left over from the previous commit. file: [1209e5774c] check-in: [23a5dfe46a] user: stephan branch: trunk, size: 121067 | |
10:55 | Minor doc cleanups and API renaming. file: [ab5ed349a6] check-in: [8425dbc02c] user: stephan branch: trunk, size: 121387 | |
09:43 | Renamed a cryptically-named struct member from fc to fCard. file: [10fcc4c92a] check-in: [ae428e47b0] user: stephan branch: trunk, size: 121148 | |
08:48 | Moved some f-ci always-output into verbose-only output, which coincidentally uncovered... Fixed the duplicate crosslinking which was being performed via fsl_checkin_commit() and made fsl_deck_save() change how it crosslinks depending on whether fsl_crosslink_begin() is active, which (in turn) fixed the fsl_repo_has_mlink_mid() discrepancy vis a vis fossil for checkin crosslinking. file: [cbf851300b] check-in: [0c3df4194e] user: stephan branch: trunk, size: 121145 | |
08:27 | Replaced Q-card magic values with an enum. file: [45c595b7ef] check-in: [b81f4c29c9] user: stephan branch: trunk, size: 121164 | |
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: [cbe03de9b9] check-in: [0bdf51b375] user: stephan branch: trunk, size: 120669 | |
16:27 | Improved handling of deleted-by-checkin files via fsl_repo_checkout() and their reporting via f-co. file: [41c3ab4a71] check-in: [038cd076ae] user: stephan branch: trunk, size: 120534 | |
11:29 | fsl_repo_checkout() deletion of empty dirs now walks up parent dirs to catch those strays left over by the previous commit. To see this in action, do (f-co tip) then (f-co rid:1), which should leave an empty dir except for .fslckout. file: [d36a747115] check-in: [6c174db6f3] user: stephan branch: trunk, size: 116463 | |
11:06 | fsl_repo_checkout(), when removing leftover files, now tries to prune empty dirs. It does not catch dirs which themselves contain no files (contain only other dirs), as vfile has no entry for such dirs. Solving that requires more dir name slicing-up. file: [bfba1e6a16] check-in: [682c42c3a9] user: stephan branch: trunk, size: 116078 | |
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: [427b5efe07] check-in: [da6bcc64ba] user: stephan branch: trunk, size: 115330 | |
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: [2547299706] check-in: [30b1a2435b] user: stephan branch: trunk, size: 115201 | |
04:29 | More tinkering with the f-co/f-open-related infrastructure. file: [8f3471c2da] check-in: [13194b49eb] user: stephan branch: trunk, size: 115984 | |
01:01 | Added dry-run mode to fsl_repo_checkout(). Minor cleanups in f-open and f-co. file: [a5a0a1cb93] check-in: [f54d7ff201] user: stephan branch: trunk, size: 115589 | |
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: [2e68c884de] check-in: [eeb7706e6e] user: stephan branch: trunk, size: 115131 | |
2021-03-04
| ||
22:46 | Refactored fsl_repo_checkout() to take a different options type and callback, and provided that callback with more interesting state. Restored f-open functionally which was disabled due to the lack of that state. file: [4f8d6c8a0a] check-in: [ea7a0da420] user: stephan branch: trunk, size: 114488 | |
21:07 | Started factoring the extract-to-checkout code from f-open into lib-level fsl_repo_checkout(). This loses a feature or two which will have to be reworked into the lib API but it seems to work. file: [50a28be6c2] check-in: [5fd71c1b87] user: stephan branch: trunk, size: 112659 | |
19:29 | Renamed fsl_repo_open_opt to the unfortunately verbose fsl_repo_open_checkout_opt to avoid confusion about the options being for fsl_repo_open() (which they're not). Fixed chdir()-back behavior in fsl_repo_open_checkout() when opt->targetDir is NULL. file: [e210724ced] check-in: [ea0bfdc56d] user: stephan branch: trunk, size: 109920 | |
19:06 | Minor API tweaks. Corrected --setmtime handling of f-open (broken by my refactoring). file: [7061510053] check-in: [3e996ceab5] user: stephan branch: trunk, size: 109163 | |
18:19 | Refactored fsl_repo_extract() to take a struct and added an option to specify whether or not the file content should be extracted. Fixed fsl_mkdir_for_file() for 1-letter filenames. file: [12d6823624] check-in: [0e31c5674e] user: stephan branch: trunk, size: 108852 | |
17:45 | f-open: removed unnecessary content load and added some library-level functions to help streamline transaction handling. file: [bc998a88e2] check-in: [5c988bf424] user: stephan branch: trunk, size: 107449 | |
15:12 | Minor internal cleanups. Corrected hash handling of fsl_repo_import_blob(). file: [46e923d689] check-in: [5e448f56bb] user: stephan branch: trunk, size: 107273 | |
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: [254f7116c1] check-in: [d1428d5a93] user: stephan branch: trunk, size: 106792 | |
12:28 | Numerous cleanups and fixes in/around the infrastructure used by f-open. file: [d4b3cef297] check-in: [b67129bbb9] user: stephan branch: trunk, size: 106037 | |
2021-03-03
| ||
11:42 | Renamed fsl_buffer_reset() to fsl_buffer_reuse() to try to reduce the confusion between its semantics contrasted with fsl_buffer_clear(). file: [6f5f281d6d] check-in: [0584c1b6e2] user: stephan branch: trunk, size: 105174 | |
2021-03-02
| ||
10:32 | A round of minor cleanups in getting f-open working for me. Time for a break, though. file: [96f917b8f7] check-in: [ba432bca3a] user: stephan branch: open-ckout-wip, size: 105174 | |
08:49 | Implement f-open and f-checkout roughly ported from db.c::cmd_open() and checkout.c::checkout_cmd() in Fossil using a draft implementation of the fsl_repo_open_checkout API designed by Stephan. This is a work in progress and is missing a few critical pieces but will open and checkout a given repository. Only tested on OpenBSD and macOS and may not work on Windows yet. file: [1d5a645047] check-in: [4897fa7285] user: mark branch: open-ckout-wip, size: 105040 | |
2021-03-01
| ||
16:21 | Arguably a typo fix in the new header. Thank goodness for stream editors. file: [693ea55e67] check-in: [386316db07] user: stephan branch: trunk, size: 104505 | |
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: [ad85c74595] check-in: [fa5fb24496] user: stephan branch: trunk, size: 104497 | |
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: [44c5ba5fb9] check-in: [2d90220116] user: stephan branch: trunk, size: 104739 | |
2021-02-28
| ||
11:49 | Removed the superfluous length parameter from fsl_deck_U_set(). file: [69d6ecadc8] check-in: [908a2d314c] user: stephan branch: trunk, size: 104159 | |
04:15 | Generic cleanups, char-to-bool conversions. Moved fsl_acache bits into their own file. Shrunk a couple of struct sizes. file: [67d5aecbcb] check-in: [7c8b025221] user: stephan branch: trunk, size: 104056 | |
2021-02-27
| ||
12:04 | Ported f-wiki to the new CLI flags mechanism and extended the fcli public API a bit to be able to support command-dispatch-style apps like f-wiki. file: [4f0aa3c470] check-in: [97a2679fd1] user: stephan branch: trunk, size: 104056 | |
2021-02-26
| ||
06:03 | Some doc touchups, enum renaming, and removed some dead code. file: [93845303c0] check-in: [473fd8718c] user: stephan branch: trunk, size: 104056 | |
2021-02-25
| ||
08:22 | Some API renaming. Modified how fsl_deck_parse() determines the deck's RID/UUID. Introduced fsl_repo_blob_lookup(). file: [d403b6a7d7] check-in: [467b9e1c18] user: stephan branch: trunk, size: 103972 | |
2021-02-24
| ||
05:42 | Renamed enum fsl_file_perm_t to fsl_fileperm_e and fsl_rc_t to fsl_rc_e. file: [5563efb116] check-in: [eb5c621f98] user: stephan branch: trunk, size: 102771 | |
2021-02-21
| ||
18:27 | More enum type renaming. Updated C++/s2 bindings for other recent renamings. file: [07f9e0d901] check-in: [9c1abb2e95] user: stephan branch: trunk, size: 102776 | |
16:52 | Ported in fsl_search_doc_touch() from fossil and call it at the appropriate points in the crosslinking steps, but it's disabled because one of the queries mysteriously fails with 'SQL logic error' when run from this context (but works fine in the fossil shell). Some more char-to-bool conversions. file: [605c87abe4] check-in: [5a3d4bceb3] user: stephan branch: trunk, size: 102767 | |
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: [175251328e] check-in: [8728796601] user: stephan branch: trunk, size: 102770 | |
2021-02-18
| ||
05:11 | Replaced the extraneous fsl_double_t typedef with double. file: [69f4182640] check-in: [b359548620] user: stephan branch: trunk, size: 102770 | |
2021-02-17
| ||
19:43 | Doc additions concerning overriding timeline comment text during crosslinking. Added support for the C-card for wiki timeline updates (noting that that card is never emitted for wiki artifacts by fossil, though it does permit them). file: [ea4f2258c1] check-in: [edaf56e488] user: stephan branch: trunk, size: 102812 | |
2021-02-15
| ||
18:38 | Updated the symbolic-name-to-rid code to bring it more in line with fossil's and ported in some closely-related behaviors. file: [8bade93434] check-in: [55f8d321d2] user: stephan branch: trunk, size: 100583 | |
04:11 | Fixed the unsetting of the B-card on a manifest when the checkin processes decides that it's not useful as a delta manifest and switches to a baseline manifest. Bug was in the B-card unsetter logic. file: [de4e45e619] check-in: [4a015bdd47] user: stephan branch: trunk, size: 100585 | |
2021-02-14
| ||
02:26 | Improved (slightly) an error report when crosslinking a checkin fails because the content for the P-card artifact cannot be found or is a phantom. file: [4cfa13f8e7] check-in: [88947dfafc] user: stephan branch: trunk, size: 100211 | |
01:38 | Renamed fsl_tag_rid() to fsl_tag_an_rid() to help avoid confusion with fsl_tag_id(), which does something much different. Split the crosslinkers into core/timeline-update bits. Fixed a reallocation bug in the crosslink callback list. Added --crosslink option to f-parseparty. Enabled output of empty P-card on checkin manifests with no parents (initial checkin) to please f-mfparse tests (empty P's are harmless, just slightly unsightly). file: [3cd28f1bf5] check-in: [63893e6c12] user: stephan branch: trunk, size: 100024 | |
2021-02-13
| ||
23:44 | Minkering/testing with replacing the checkin timeline crosslinker. Moved some code around. file: [ee315bd634] check-in: [c42cfd8c10] user: stephan branch: trunk, size: 99628 | |
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: [fb22568cbc] check-in: [911afa1bcc] user: stephan branch: trunk, size: 99628 | |
13:03 | Made the fsl_deck object in fsl_deck_output() and crosslink listeners non-const, the former to avoid forcing the client to do much up-front work and the latter because it's necessary for such code to be able to traverse F-cards. That had a bit of a rat's tail of side effects to clean up. Edit: reminder: this caused a sync problem because we added an attachment artifact file which is itself an export of an artifact from the db, leading to a unique constraint violation when pushing. Deleting the attachment table entries, syncing, then rebuilding, resolved it. Hopefully this duplicate artifact won't cause any similar downstream problems. file: [5d6f26feea] check-in: [ac9b034f79] user: stephan branch: trunk, size: 99311 | |
05:52 | Updated attachment crosslinking to account for technote attachments. file: [e9740645f0] check-in: [08ecc42a5f] user: stephan branch: trunk, size: 98807 | |
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: [a4032fa2a3] check-in: [ee070353b9] user: stephan branch: trunk, size: 98845 | |
15:22 | Implemented crosslink begin/end steps, minus still-pending ticket/wiki-specific features. Crosslinking wiki pages updated to use fossil's newer wiki timeline comment format and updated f-timeline to recognize it as well. file: [5732553744] check-in: [31c8bddf22] user: stephan branch: trunk, size: 96978 | |
12:20 | checkin crosslinking: added missing Q-card (cherrypick) handling, corrected a parent-count case when dealing with Q-cards, and generally brought it up to date with regards to fossil(1). file: [f3bc479ed6] check-in: [4dcdf5a8f7] user: stephan branch: trunk, size: 94931 | |
07:41 | Added: Header file reorgs. file: [9022428211] check-in: [c1681af460] user: stephan branch: trunk, size: 94913 | |