Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
History of file f-apps/f-aparse.c at check-in 09094cea7bda0250
2025-03-25
| ||
17:39 | In f-aparse, when checking for an in-repo match of the input manifest's hash, try sha3 before sha1, as that's the more likely case (it wasn't when this app was initially written). file: [39d6275880] check-in: [177f145fab] user: stephan branch: trunk, size: 9548 | |
17:34 | Remove extranous whitespace from fsl_deck_to_json(). file: [a7c040ccb2] check-in: [4122e5f498] user: stephan branch: trunk, size: 9548 | |
15:37 | Implement fsl_deck_to_json(). Corresponding UDF is still TODO. file: [30cd1a4492] check-in: [9023ab840a] user: stephan branch: artifact-to-json, size: 9595 | |
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: [9386869e94] check-in: [0c7c6d665d] user: stephan branch: artifact-to-json, size: 9585 | |
2024-11-22
| ||
09:16 | Myriad miniscule modifications - space removals. file: [4e95ae13e0] check-in: [8a3bc44c30] user: brickviking branch: trunk, size: 8865 | |
2023-04-19
| ||
02:33 | Add missing f(void) for some static func decls to appease newer compilers. file: [69c6b78e05] check-in: [e2d7986f9e] user: stephan branch: no-common-ancestor, size: 8869 | |
2021-12-30
| ||
05:37 | Replaced f-apps fcli_setup() calls with fcli_setup_v2(). file: [ce966c9df8] check-in: [313b59841e] user: stephan branch: trunk, size: 8876 | |
2021-12-21
| ||
20:38 | Corrected f-apps broken by previous checkin. file: [fe7e818540] check-in: [5427afd00d] user: stephan branch: trunk, size: 8908 | |
2021-11-19
| ||
08:10 | Diverse generic internal and doc cleanups. file: [6dd7c1d928] check-in: [06f92b7689] user: stephan branch: trunk, size: 8960 | |
2021-11-18
| ||
09:44 | Moved cache metrics dumps into fcli API. Told f-rebuild to skip the ticket tables for the time being (since we do not yet crosslink those). Added FSL_CX_F_BLOB_CACHE flag to enable/disable blob cache. Discovered that f-rebuild causes unexpected failures in downstream apps like f-sanity and f-resolve. file: [6e4732c4e5] check-in: [2b136fe2e7] user: stephan branch: trunk, size: 9038 | |
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: [cab18f8413] check-in: [83917b7b45] user: stephan branch: trunk, size: 9028 | |
2021-10-21
| ||
02:38 | Fixed a memleak in f-aparse.c. file: [f33051d12d] check-in: [f731ff162f] user: stephan branch: trunk, size: 9027 | |
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: [8e21596d59] check-in: [1dc391289c] user: stephan branch: remove-deck-uuid, size: 8998 | |
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: [b5470b3593] check-in: [c9fb1f972f] user: stephan branch: trunk, size: 10766 | |
2021-09-05
| ||
17:17 | Correct f-aparse's timeline text prefix (was using old name of f-mfparse). file: [30679e36f3] check-in: [7549ef1764] user: stephan branch: trunk, size: 10713 | |
2021-04-04
| ||
05:07 | f-apps: modernized/simplified usage of exit-on-help. Removed some bogus CLI flag entries from f-config. file: [9abccd5312] check-in: [1d3192c82b] user: stephan branch: trunk, size: 10714 | |
04:58 | f-apps: use fcli_cx() instead of accessing fcli.f directly. file: [766b48ec9a] check-in: [9c7cf37828] user: stephan branch: trunk, size: 10765 | |
2021-03-31
| ||
02:07 | Fixed a null pointer deref when calling f-aparse with no arguments. file: [0230375771] check-in: [c9e1f6c6dc] user: stephan branch: trunk, size: 10759 | |
2021-03-28
| ||
17:05 | Tightened is-sorted check when parsing Cluster artifacts. file: [e85c8cdc99] check-in: [2a35f5e331] user: stephan branch: trunk, size: 10754 | |
2021-03-24
| ||
15:05 | Renamed and modified f-apps/f-mfparse.c → f-apps/f-aparse.c. 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: [3d830336a6] check-in: [81cbf6794f] user: stephan branch: trunk, size: 10776 | |
2021-03-20
| ||
21:36 | Minor restructuring of the fcli struct. file: [2915a4c02a] check-in: [436ae2c47f] user: stephan branch: trunk, size: 10558 | |
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: [caa17683da] check-in: [01c1cff578] user: stephan branch: cx-scratchpad-rework, size: 10551 | |
2021-03-10
| ||
08:06 | New F-card list model is working but the savings for it are underwhelming to say the least. At most, 10-15% alloc count savings on f-parseparty runs, with a slightly higher RAM total. Disabled delta checksum self-test, as it's a big time hit and fossil also disables that by default. (Edit: but this changes cuts the time needed for f-parseparty to process the core fossil repo by a bit more than half. It's still dog slow compared to a fossil rebuild, though.) file: [3b7f48cc6a] check-in: [2440c84b01] user: stephan branch: f-card-array, size: 10550 | |
2021-03-07
| ||
10:34 | Added --save flag to f-mfparse to store the deck into the repo. That was used to stuff a hand-crafted mass-closing control artifact into fossil: [https://fossil-scm.org/home/info/2e525856ec57bb9f]. Don't try that at home, please. file: [f9e76c55d9] check-in: [198dabd041] user: stephan branch: trunk, size: 10549 | |
2021-03-01
| ||
16:21 | Arguably a typo fix in the new header. Thank goodness for stream editors. file: [d3b51a4ab2] check-in: [386316db07] user: stephan branch: trunk, size: 9723 | |
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: [8212a69a43] check-in: [fa5fb24496] user: stephan branch: trunk, size: 9715 | |
2021-02-28
| ||
09:50 | Reworked the fcli flag handling to accept and convert a range of flag types. It requires some pointer care on the user's part but is far more flexible. file: [00dad62e30] check-in: [fa7c45e1ef] user: stephan branch: trunk, size: 9649 | |
04:57 | fcli now uses its own FCLI_RC_HELP, instead of hijacking FSL_RC_BREAK, to indicate that --help was triggered. file: [9c50fff059] check-in: [d0edf4583f] user: stephan branch: trunk, size: 9656 | |
2021-02-27
| ||
14:29 | Finished porting the f-apps to the new CLI handling bits. Replaced fcli::appHelp with what was formerly fcli::appHelp2. file: [098d1cb60b] check-in: [ca464b5b74] user: stephan branch: trunk, size: 9653 | |
07:08 | More CLI flag subsystem porting and license header swapping. file: [ee572aecba] check-in: [c94a3b0d0e] user: stephan branch: trunk, size: 9654 | |
06:38 | More f-apps ported to the new CLI flag handling bits. file: [73b42032dc] check-in: [296776c72b] user: stephan branch: trunk, size: 9964 | |
06:05 | More work on the new fcli flags infrastructure. file: [cd754c8803] check-in: [6865f151f9] user: stephan branch: trunk, size: 9999 | |
2021-02-26
| ||
16:47 | More work on the fcli argument handling rewrite. file: [7fceaecff1] check-in: [490b7ab32e] user: stephan branch: fcli-flag-rework, size: 9988 | |
14:04 | Reworking how fcli flag handling is done. file: [1164b7c3e2] check-in: [dad2f76f30] user: stephan branch: fcli-flag-rework, size: 9681 | |
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: [a49e1b6792] check-in: [467b9e1c18] user: stephan branch: trunk, size: 9583 | |
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: [02d9621d2d] check-in: [8728796601] user: stephan branch: trunk, size: 9499 | |
2021-02-14
| ||
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: [f9a1122bc5] check-in: [63893e6c12] user: stephan branch: trunk, size: 9499 | |
2021-02-13
| ||
23:44 | Minkering/testing with replacing the checkin timeline crosslinker. Moved some code around. file: [e744618aa1] check-in: [c42cfd8c10] user: stephan branch: trunk, size: 9503 | |
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: [b3f022fc75] check-in: [911afa1bcc] user: stephan branch: trunk, size: 7827 | |
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: [3c8072dbda] check-in: [ac9b034f79] user: stephan branch: trunk, size: 7912 | |
2021-02-12
| ||
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: [979099f430] check-in: [31c8bddf22] user: stephan branch: trunk, size: 7918 | |
2021-02-11
| ||
19:13 | Completely reimplemented ownership semantics of fcli argument/flag memory, greatly simplifying app-side management of those. Now fcli sticks all of them in fcli_fax() so that their lifetime is predictable and managed, so clients no longer have to free them. file: [814b1a6eee] check-in: [4307886eab] user: stephan branch: trunk, size: 7914 | |
00:16 | Added f-parseparty, which parses all of the artifacts in a repo, and uncovered a serious manifest parsing bug in fossil(1) as a side effect. Fixed a memory ownership bug when manifest parsing fails, which led to a double-free. Related adjacent touchups. file: [8270c96434] check-in: [0163960ce0] user: stephan branch: trunk, size: 7939 | |
2021-02-09
| ||
09:49 | Added a fsl_cx flag to silently skip, instead of error out, when crosslinking encounters a type it cannot yet handle (currently forum posts and tickets). file: [eed6bbcc8b] check-in: [a2c0c7820d] user: stephan branch: trunk, size: 7937 | |
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: [bc422017a5] check-in: [631fb3f69a] user: stephan branch: trunk, size: 7804 | |
2021-02-08
| ||
23:32 | Added deck support for forum posts, except that crosslinking them is currently unimplemented (requires more infrastructure). file: [5f79abb437] check-in: [b0ac77411e] user: stephan branch: sha3-port, size: 7699 | |
20:35 | Ported in more of the fossil(1) hashing-related infrastructure. file: [21400275fd] check-in: [033d78f03f] user: stephan branch: sha3-port, size: 7707 | |
2014-10-08
| ||
15:09 | Fixed a broken error propagation which allowed duplicate tags to be output via fsl_deck_output(). Found while investigating an ML post from the fossil-users list. file: [d834bf9160] check-in: [0dadcc5b17] user: stephan branch: trunk, size: 7707 | |
2014-03-04
| ||
22:10 | Added a crosslink listener for demo/test purposes. file: [a81ea35322] check-in: [992230f164] user: stephan branch: trunk, size: 7691 | |
2014-02-14
| ||
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: [4bb360d5ae] check-in: [a2cbd2e343] user: stephan branch: trunk, size: 6912 | |
2014-02-11
| ||
14:31 | Renamed f-mfparse.c → f-apps/f-mfparse.c. Build cleanups. Moved f-* apps to f-apps/ subdir. Now builds a shared (instead of static) lib by default because that now (since the file move) simplifies the linking of the f-apps (and th1ish). Adapted f-sanity.c tests to the new directory structure. file: [a02af6f6d7] check-in: [e85b45eda2] user: stephan branch: trunk, size: 6912 | |
2014-02-09
| ||
12:02 | Only validate the R-card if the manifest actually has an R-card. file: [a02af6f6d7] check-in: [8b4ae29b02] user: stephan branch: trunk, size: 6912 | |
2014-02-02
| ||
18:09 | Added missing argument docs. file: [7acdcff52a] check-in: [57ea68c7b8] user: stephan branch: trunk, size: 7100 | |
2013-09-18
| ||
17:39 | minor doc/text changes. file: [2cfe4e9a7b] check-in: [4fa939b62a] user: stephan branch: trunk, size: 6983 | |
17:14 | if SHA1 mismatches and output did not come from stdin, then it now shows a diff of the mismatch. file: [4a3dd0aac7] check-in: [19733a82dc] user: stephan branch: trunk, size: 6754 | |
2013-09-17
| ||
05:27 | naive (un-researched) fixes to compile fails. (see [ef8ff36cf0feb811a0f1e66c0fa420c80d629998]) file: [b228966b46] check-in: [b5210cd21c] user: bch branch: trunk, size: 6344 | |
2013-09-10
| ||
20:38 | changed a potential confusing hex output to make it clear that it is a ptr addr instead of a partial uuid. file: [884ff207c2] check-in: [50830bf6ac] user: stephan branch: trunk, size: 6347 | |
20:36 | Simplified fsl_deck_parse() signature. Reimplemented fsl_julian_to_iso8601() using a different algorigthm - the previous one has an off-by-one-day bug in some cases. file: [2afe76d512] check-in: [63333ab345] user: stephan branch: trunk, size: 6347 | |
14:23 | Resolved task [ef8cd96ec9]: refactored fsl_deck_output() to not need a fsl_cx/db handle. file: [1c1375829f] check-in: [8af01f757e] user: stephan branch: trunk, size: 6343 | |
2013-09-03
| ||
09:43 | More fcli refactoring via perl. Fixed a broken assertion in f-sanity. file: [f9513c57d5] check-in: [0333cc9077] user: stephan branch: trunk, size: 6258 | |
2013-09-01
| ||
12:54 | s/fcli_cli_/fcli_/g. Minor error text change. file: [053707f3a9] check-in: [945fea799c] user: stephan branch: trunk, size: 6260 | |
2013-08-31
| ||
11:32 | Re-did how fcli hooks into app-local help, to avoid an unresolved symbol in the main lib. file: [bf23fc8b92] check-in: [6f54534d74] user: stephan branch: trunk, size: 6249 | |
10:49 | Renamed the FossilApp API to fcli. Moved its header into the public space. file: [f60aa24c5a] check-in: [5d3767f8f0] user: stephan branch: trunk, size: 6206 | |
10:02 | Lots of FossilApp tinkering. file: [5273894903] check-in: [5e77c8742d] user: stephan branch: trunk, size: 6274 | |
2013-08-27
| ||
19:55 | Started work on creating a new repo. Several related minor cleanups and additions. Simplified a couple APIs. file: [2de40e5d6a] check-in: [184bdcf4a4] user: stephan branch: trunk, size: 6322 | |
2013-08-25
| ||
11:39 | More API renamings. Moved some card-related code from internal to public APIs. Added foreach iterator for F-cards. Added basic f-ls app. file: [52e6eb3c62] check-in: [e0963e92ca] user: stephan branch: trunk, size: 6144 | |
09:12 | API renamings (shortenings) and minor API simplifications. Doc updates, some work on making the R-card optional. file: [ac51a9ff8b] check-in: [c0752c60c2] user: stephan branch: trunk, size: 6143 | |
2013-08-24
| ||
13:42 | Renamed fsl_deck_VERB_CARD() to fsl_deck_CARD_VERB(), for consistency. Added initial wiki-save support, but the public API needs a bit of tweaking. file: [c303186afb] check-in: [31dda112b9] user: stephan branch: trunk, size: 6149 | |
08:57 | Pulled in fixed broke-r-card branch. f-mfparse now reads from stdin by default if no -f or filename is provided and it is not on a terminal. file: [7228e1efe1] check-in: [6d746e7d25] user: stephan branch: trunk, size: 6149 | |
07:44 | minor cleanups. fixed f-mfparse to know the difference between an imported/artifical artifact and a known own, and skips the sha1 check on imported ones. fsl_deck_parse() no longer asserts if it cannot find a matching RID. file: [3770b4f97b] check-in: [f26b454fa1] user: stephan branch: broke-r-card, size: 6016 | |
2013-08-22
| ||
13:44 | fsl_internal.h ==> fossil-internal.h file: [d37766b7ba] check-in: [2cae867331] user: stephan branch: trunk, size: 5860 | |
2013-08-19
| ||
20:40 | Minor cleanups. Replaced fsl_db_unix_to_iso8601() with fsl_unix_to_iso8601() (didn't know strftime() was C89). file: [8289852e9b] check-in: [fb9ef509fe] user: stephan branch: trunk, size: 5857 | |
19:29 | Added EVENT crosslinking. Can now losslessly round-trip EVENT manifests. Minor changes to support seconds-precision (not msec-precision) on E-cards b/c that is how fossil(1) does it. Fixed bugs in the E-card card-is-legal validation. file: [734b739c20] check-in: [ec268be7f0] user: stephan branch: trunk, size: 5839 | |
2013-08-18
| ||
18:47 | Started adding fsl_repo_mlink_add(), but there is much left to do there. file: [4715c92c6a] check-in: [56ef8127b6] user: stephan branch: trunk, size: 5327 | |
14:03 | minor generic cleanups in the deck code. file: [4c7d8495f2] check-in: [5fa697bee8] user: stephan branch: trunk, size: 5123 | |
04:31 | minor assertion tweaks to allow parsing of out-of-repo manifests for testing purposes. file: [a9784fb1d4] check-in: [20b54357eb] user: stephan branch: trunk, size: 4937 | |
03:50 | Renamed test-mf.c → f-mfparse.c. Renamed test-mf to f-mfparse, for consistency. file: [15fd101214] check-in: [b9424e1890] user: stephan branch: trunk, size: 4785 | |
03:32 | Fixed a bug in T-card parsing of the '*' special UUID. Added a couple workarounds for manifest #1, which violates the R- and P-card conventions laid out in the docs. Fixed a broken error check in fsl_repo_sym_to_uuid() which caused a statement to be left unfinalized (and a wrong result). file: [15fd101214] check-in: [106aaf6898] user: stephan branch: trunk, size: 4785 | |
01:31 | Added deck baseline file iteration and reworked R-card calc to use it. Works for baselines but i am seeing a delta-application bug in a specific tcl commit, but it is not yet clear where my bug is there (the repo passes all integrity tests, so the bug is on my end). Added error-reporting forms of delta application routines. Started porting in some of the filename table funcs. file: [1f820362bb] check-in: [f94ea8a168] user: stephan branch: trunk, size: 4772 | |
2013-08-17
| ||
19:48 | another round of API renamings for consistency purposes. file: [2312d8b3b0] check-in: [f0ceea7dd2] user: stephan branch: trunk, size: 4476 | |
18:33 | Can now load and clean up baseline manifests, but finding one is a neat trick - the core fossil repo does not contain a single B card. Luckily the tcl repo them. file: [ad3dba8054] check-in: [2d13c82663] user: stephan branch: trunk, size: 4476 | |
11:11 | a round of minor cleanups, doc additions, and build tweaks. Build/config modified to allow more variants of c99/long long, to simplify testing of portability-related problems. i expect the xxx_PFMT changes to possibly break on 32-bit platforms. (Edit: didn't break :) file: [e73344279d] check-in: [f739758c74] user: stephan branch: trunk, size: 3955 | |
2013-08-16
| ||
20:04 | Added fsl_deck_unshuffle() to sort any lists which need it and to calculate the R-card (that card works now). Fixed a memleak in fsl_acache_clear. A bit of API renaming and refactoring. file: [5d6f429a69] check-in: [6dc5c4ab76] user: stephan branch: trunk, size: 3808 | |
11:17 | Removed fsl_mf class, consolidated it with fsl_deck. file: [99017fa955] check-in: [8bbef4153d] user: stephan branch: trunk, size: 3399 | |
09:58 | Added J-cards to the manifest parse, making manifest parsing more or less complete (all cards implemented and basic sanity tests passing). The parser now figures out what artifact type it is and what contents are legal on the fly, obviating much of the to-be-ported validation checking. API renamings for consistency: fsl_mf_tag==fsl_mf_tcard, fsl_mf_file==fsl_mf_fcard, fsl_mf_cherrypick==fsl_mf_qcard. file: [654853d2e9] check-in: [8735de8159] user: stephan branch: trunk, size: 3409 | |
2013-08-15
| ||
23:09 | can now round-trip parse/output wiki manifests, with the caveat of subsecond times not necessarily surviving round-trip conversion. file: [77602026d6] check-in: [d3253d4000] user: stephan branch: trunk, size: 3386 | |
17:09 | Added FossilApp_has_unused_flags(). file: [c7a39be1a1] check-in: [94e252e412] user: stephan branch: trunk, size: 3384 | |
13:22 | ported in more of the fs function. Very minor cleanups in the mf code. file: [59c906b2e9] check-in: [e229b7b03d] user: stephan branch: trunk, size: 3326 | |
05:14 | can now losslessly round-trip clusters through the manifest parser/generator (they have no D card to muck up the hash). file: [006088663f] check-in: [8914dd2d3b] user: stephan branch: trunk, size: 2653 | |
02:21 | Updated autosetup. Added guess-manifest-type-based-on-cards logic to the parser. file: [2a7d7ea46e] check-in: [4c418820b6] user: stephan branch: trunk, size: 2421 | |
2013-08-14
| ||
23:49 | Minor cleanups to the last round of refactoring. Cleaned up help subsystem for FossilApp a bit. file: [34f31f80e8] check-in: [3cc2cd8a5a] user: stephan branch: trunk, size: 2321 | |
22:54 | Added: More work on the deck/manifest API. Moved manifest test code into test-mf.c. file: [b6003484d1] check-in: [ac713788f4] user: stephan branch: trunk, size: 2292 | |