Login
History of f-apps/f-aparse.c of 09094cea7bda0250
Login

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