Login
All files named ”src/fsl_mf.c”
Login

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

History for src/fsl_mf.c

2021-02-15
03:24
Renamed to src/mf.c. Renamed src/fsl_XYZ.c to src/XYZ.c. f-checkin vfile dump now includes renames. check-in: [ed3183170a] user: stephan branch: trunk, size: 0
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: [073043e8fa] check-in: [88947dfafc] user: stephan branch: trunk, size: 169612
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: [b789ada4a0] check-in: [63893e6c12] user: stephan branch: trunk, size: 169383
2021-02-13
23:44
Minkering/testing with replacing the checkin timeline crosslinker. Moved some code around. file: [effba74831] check-in: [c42cfd8c10] user: stephan branch: trunk, size: 166047
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: [a6a9de3fe0] check-in: [911afa1bcc] user: stephan branch: trunk, size: 166047
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: [93b1ff51f6] check-in: [ac9b034f79] user: stephan branch: trunk, size: 166107
05:52
Updated attachment crosslinking to account for technote attachments. file: [77d94217a4] check-in: [08ecc42a5f] user: stephan branch: trunk, size: 165545
2021-02-12
22:21
Started removing the many now-extraneous (fsl_id_t) casts in variadic calls. file: [f66f8c540f] check-in: [11e5173970] user: stephan branch: trunk, size: 163867
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: [e93bc7a7b1] check-in: [ee070353b9] user: stephan branch: trunk, size: 164397
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: [6a515e275b] check-in: [31c8bddf22] user: stephan branch: trunk, size: 163906
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: [2c6e2ea2dc] check-in: [4dcdf5a8f7] user: stephan branch: trunk, size: 163008
07:41
Header file reorgs. file: [dce1ac2cd2] check-in: [c1681af460] user: stephan branch: trunk, size: 161329
07:02
Implemented forum artifact crosslinking and restructured fsl_deck_crosslink() into internal type-specific routines. file: [095ba1c5e5] check-in: [1817557652] user: stephan branch: trunk, size: 161255
2021-02-11
11:29
Manifest parsing: moved the guess-card-type logic to the end, after the cards have had a chance to apply the type themselves. Ported in some undocumented(?) but code-implemented corner-case constraints, such as not allowing tag names which look like hex hashes. file: [806f65d4b9] check-in: [4b7e3d1ac6] user: stephan branch: trunk, size: 157346
06:38
fsl_deck_parse(): when we know that the current card can only possibly belong to a certain deck type, assign the deck type immediately, rather than delaying it to the "guess" phase (which may actually have already deduced the type, anyway). This provides the same results as before but should be a bit more robust. Removed some dead code. file: [adb0ffbe02] check-in: [92a5e7fee4] user: stephan branch: trunk, size: 156506
06:14
Improved fsl_mf_parse() artifact type guessing to eliminate an over-zealous type classification. Implemented the technote swapped P/N-cards bug workaround from the main fossil tree. f-parseparty now includes UUIDs of failed parses and can now parse the whole core fossil (and forum) artifact collection without any errors. file: [4376b972b9] check-in: [88060bfb9b] user: stephan branch: trunk, size: 156419
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: [3ed5a3e393] check-in: [0163960ce0] user: stephan branch: trunk, size: 155639
2021-02-09
18:06
Fixed creation of new repository (fsl_repo_new() and f-new.c). Added checkin message mimetype to repo creation options. file: [866f4c7c3b] check-in: [162d4ba4c8] user: stephan branch: trunk, size: 154790
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: [5f34417c4a] check-in: [a2c0c7820d] user: stephan branch: trunk, size: 154080
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: [6e2684b503] check-in: [631fb3f69a] user: stephan branch: trunk, size: 153934
2021-02-08
23:47
Renamed the hash length constants. file: [c274685640] check-in: [0c9a6d3644] user: stephan branch: trunk, size: 153892
23:32
Added deck support for forum posts, except that crosslinking them is currently unimplemented (requires more infrastructure). file: [32c3f2dd9f] check-in: [b0ac77411e] user: stephan branch: sha3-port, size: 153898
20:45
MILESTONE: f-ls just read a file listing from the main fossil repo (v2 hashes). Set f-mfparse back to hard-coded sha1 for the time being, as i'm not sure i can automatically figure out one or the other hash (need to add a flag to specify which to use). file: [cfac30434d] check-in: [8367e0ce6e] user: stephan branch: sha3-port, size: 150358
20:35
Ported in more of the fossil(1) hashing-related infrastructure. file: [cc6b9048fd] check-in: [033d78f03f] user: stephan branch: sha3-port, size: 150352
18:23
f-apps compile and f-sanity runs. MILESTONE. Still need to test the other f-apps, though. file: [8b50bfa09c] check-in: [76c290eb05] user: stephan branch: sha3-port, size: 150138
16:03
Baby steps towards dual sha1/sha3 support. This does not yet compile but i'm nervous about losing work done so far. It's been painless but tedious, which is not bad, all things considered. file: [a76f80d3d0] check-in: [240701a6ec] user: stephan branch: sha3-port, size: 150162
2021-02-07
14:31
Globally replaced http://... URLs with https://.... Most of them probably still work, too. file: [912596d301] check-in: [6af7b3b7c8] user: stephan branch: trunk, size: 149780
2016-08-20
12:37
fixed a mis-think in the previous commit which caused unnecessary extra allocations. file: [045e17629e] check-in: [679e38294a] user: stephan branch: trunk, size: 149774
12:13
fixed: when parsing F-cards, defossilize their names (in-place) before insertion into the deck. Was broken with space-containing filenames. file: [af31f79a2c] check-in: [9f317f8fa8] user: stephan branch: trunk, size: 149913
2016-02-18
11:24
fixed an assertion, improved an error message (just now triggered by files with spaces in their names :/). file: [ce8b2c6c0c] check-in: [a5d8233f6d] user: stephan branch: trunk, size: 149527
2015-12-28
21:24
another test of the leaf-check fix (not included in this commit). Found 2 bugs compared to fossil(1). file: [10ffe154a6] check-in: [7a117a135a] user: stephan branch: trunk, size: 149459
19:20
potential fix for the missing leaf update when crosslinking. Fixes a mismatch with fossil(1), in any case. Edit: nope, didn't fix that particular problem, but was nonetheless a bug. file: [7371104d24] check-in: [c9010b6036] user: stephan branch: trunk, size: 149440
2015-12-13
15:46
back-ported in http://www.fossil-scm.org/index.html/info/8e44cf6f4df4f9f0. file: [34b5c3a9c0] check-in: [ee2a7f7c06] user: stephan branch: trunk, size: 149444
2015-08-17
10:38
minor internal text fix. file: [82a457c81f] check-in: [6a88a2d589] user: stephan branch: trunk, size: 148724
2015-07-23
18:02
ported in relatively recent mlink/plink changes - requires newer fossil aux schema. file: [082d2e429e] check-in: [ee03f7343f] user: stephan branch: trunk, size: 148732
2014-10-19
15:45
removed fsl_deck_F_foreach_own() - useless bloat (same feature is available as a param flag to fsl_deck_F_foreach()). file: [2f62764383] check-in: [3ae4f088e4] user: stephan branch: trunk, size: 147367
2014-10-08
15:34
comment fix (misinformation), removed a line of dead code. file: [b1b988d9d4] check-in: [4356134409] user: stephan branch: trunk, size: 147600
15:28
Fixed another char-should-be-int case (portability problem). file: [c2371d6a24] check-in: [bcee79685a] user: stephan branch: trunk, size: 147643
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: [8f012025b7] check-in: [0dadcc5b17] user: stephan branch: trunk, size: 147638
2014-10-02
03:12
amalgamation support for msvc; #undef'ed a couple macros that collided with Windowsian things; added a project for my testing porpoises; put in a conditional compile switch in f-sanity.c to support an amalgamation build with ease. file: [4399212e38] check-in: [0d2451c9c2] user: dave branch: dave, size: 147304
2014-06-28
03:04
added a note about a fossil(1) addition. file: [32d5aaf737] check-in: [1d4d4e42b6] user: stephan branch: trunk, size: 147271
2014-05-29
08:51
Portability fixes: changed char to int in places which use 3-value logic. file: [7241830aed] check-in: [fbf99d6e80] user: stephan branch: trunk, size: 147054
2014-04-11
23:12
minor formatting tweak. Edit: aaaaannnd... a bunch of other stuff i didn't mean to commit here. file: [ceaab7eb54] check-in: [f01ba444ed] user: stephan branch: trunk, size: 147069
15:31
Added crosslinking support for ATTACHMENT artifacts. file: [b20f87678f] check-in: [6e9428cba9] user: stephan branch: trunk, size: 147037
2014-04-06
18:24
minor comment tweaks. file: [e1ff0f9985] check-in: [5f35b704c8] user: stephan branch: trunk, size: 144327
2014-04-04
10:41
Not sure why this chose now to break. Need to re-evaluate this at some point - some of this handling is historical. file: [40cef7889a] check-in: [33b3ce4300] user: stephan branch: trunk, size: 144252
2014-04-03
17:02
Renamed fsl_glob_list_clean() to fsl_glob_list_clear() for consistency with similar APIs. file: [74e6a7075a] check-in: [1075d15a5f] user: stephan branch: trunk, size: 144175
16:43
Renamed fsl_repo_filename_fnid() to fsl_repo_filename_fnid2(), kept it internal, and added fsl_repo_filename_fnid() as a simplified form safe for general-purpose client-side use. file: [181e31aef8] check-in: [f18878c6b4] user: stephan branch: trunk, size: 144165
2014-04-01
19:15
minor cleanups. file: [76bd62751e] check-in: [9ec90536c3] user: stephan branch: trunk, size: 144163
15:34
And this time compiled it. file: [be757f2bef] check-in: [fa09253792] user: stephan branch: trunk, size: 143487
2014-03-31
18:54
minor internal cleanups in crosslinking. file: [95179b995b] check-in: [d8f5d3bb1f] user: stephan branch: trunk, size: 143455
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: [b98549da6e] check-in: [cb99e115a4] user: stephan branch: trunk, size: 142599
2014-03-25
18:16
A big round of renaming and touchups. More tinkering with the F-card generation. Seems to work how i want it now. This commit is partially a test of said functionality... seems we are not quite at a delta/baseline rollover point. file: [201bdffe1d] check-in: [7a0759a0a4] user: stephan branch: trunk, size: 142521
2014-03-24
20:55
removed an unneeded non-error check. file: [22ba997290] check-in: [d5f58f4d3c] user: stephan branch: trunk, size: 142527
2014-03-22
11:55
Made fsl_tag_prefix_char() public. Added validation of T-card ordering at output-time. file: [b7157efb2f] check-in: [e5ea5fe2e2] user: stephan branch: trunk, size: 140083
2014-03-21
13:10
Added missing has-T-card validation on CONTROL artifacts. file: [f62c07bfca] check-in: [c07de7ee52] user: stephan branch: trunk, size: 138972
13:01
Added an error message. Removed incorrect P-card output generation (which thankfully failed due to other validation) for CONTROL artifacts. file: [fa0198aff5] check-in: [db3c51efb5] user: stephan branch: trunk, size: 138945
12:32
More work on the C++ API. Added the beginnings of the Deck class. file: [17a25e550b] check-in: [efc0ab398c] user: stephan branch: trunk, size: 138884
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: [822ea296c5] check-in: [0bf60903ea] user: stephan branch: trunk, size: 138863
2014-03-17
19:14
Fixed an incorrect assert() triggered by a delete/rename combination. Minor cleanups in code looked at while figuring out what triggered the assert(). file: [26f58fce19] check-in: [811508a602] user: stephan branch: trunk, size: 135590
2014-03-16
17:32
Extended the fsl_deck string re-use to cover more cases. Other minor cleanups. file: [e6a05499e9] check-in: [47401e1763] user: stephan branch: trunk, size: 135031
13:03
Extended the manifest content caching in fsl_deck_parse() to apply to other fsl_deck string cards. Changed fsl_deck::L from a fsl_buffer to a C-string. file: [36e8d69f5d] check-in: [752aad3eb7] user: stephan branch: trunk, size: 134485
11:25
Changed fsl_deck_parse() buffer param ownership semantics to something more vague. The parser now re-uses buffer memory for F-card strings, rather than duplicating them, and takes over the buffer memory in that case. This cuts malloc() calls significantly for manifests with many F-cards but does not save much total memory overall (can be measured in kb). file: [335de3207c] check-in: [7943808461] user: stephan branch: trunk, size: 133129
2014-03-15
17:36
s/FSL_FS_PERM/FSL_FILE_PERM/gi. Minor tinkering with the vfile scanning process. file: [71b487561a] check-in: [c8c97fd8fe] user: stephan branch: trunk, size: 132208
15:02
prettied a query. file: [f0463cee55] check-in: [f17950f775] user: stephan branch: trunk, size: 132180
13:35
Minor cleanups, code consolidation/removal. file: [ee884df917] check-in: [a92bffdddf] user: stephan branch: trunk, size: 132025
2014-03-14
14:25
a long morning of refactoring and cleanups. file: [1e88d8ddff] check-in: [c71f986d35] user: stephan branch: trunk, size: 131084
12:10
merged in an accidental fork (my fault for using f-checkin instead of fossil commit). Finally get to test the delta-too-big bits. file: [305d953be1] check-in: [853ec1f650] user: stephan branch: trunk, size: 133703
12:01
removed an old/long-done TODO. file: [9a3513976e] check-in: [5900ce9dee] user: stephan branch: trunk, size: 133718
11:57
moved around some comments. file: [e287768f0b] check-in: [a75ca1c323] user: stephan branch: trunk, size: 134020
11:52
Found the cause of/fixed the problem which caused delta-application to fail on one particular artifact in the tcl core repo. Caused by fsl_buffer_is_compressed() heuristic failing for that one case. Switched to a different heuristic which had been #ifdef'd out. file: [70a084b6ba] check-in: [c3660f5241] user: stephan branch: trunk, size: 134991
11:10
another round of minor cleanups. file: [8f0742e503] check-in: [7e8d0ecfe2] user: stephan branch: trunk, size: 134637
2014-03-11
21:01
Removed some dead code. Added an error check. file: [5b7d8c4b19] check-in: [1bdec1b5de] user: stephan branch: trunk, size: 134638
2014-03-10
21:49
Experimenting with another F-card calculation algo, closely based on fossil(1)'s. (Thanks to drh for the deleted-file clarifications.) Theoretically it supports generating deltas but it's time for bed, so have not tested that far yet. Doc additions. file: [0f405f8a4e] check-in: [744dac3799] user: stephan branch: trunk, size: 134794
2014-03-09
18:32
more work on the checkin bits. the wrong leaf problem still lurks but winding down for the night. file: [2afc5a2b5b] check-in: [2bf52dd2ea] user: stephan branch: trunk, size: 133302
10:19
This is the very first checkin performed by libfossil on its own repo. Pray. Hard. file: [e4fafba0af] check-in: [79460b24aa] user: stephan branch: trunk, size: 133350
2014-03-08
22:21
More work on the checkin bits. Reimplemented how baseline manifests get their F-cards calculated. Not yet sure how best to implement a delta manifest. file: [c4afaebc18] check-in: [1cd70042f1] user: stephan branch: trunk, size: 133246
2014-03-04
22:10
changed the return semantics slightly for fsl_deck_F_seek(), so that it returns cards with NULL uuids as well. Touches sensitive parts, but it all seems to be working. file: [3cd0a47f23] check-in: [c29eaed2d9] user: stephan branch: trunk, size: 134319
2014-02-25
21:19
Changed fsl_repo_filename_to_fnid() semantics a tiny bit. file: [791a881a9a] check-in: [3438cbb4bd] user: stephan branch: trunk, size: 131896
2014-02-14
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: [4aa0a91d8e] check-in: [0f6261ee4d] user: stephan branch: trunk, size: 131890
10:36
Reordered some arguments. Implemented fsl_repo_extract(), which will be the basis of checkout-like behaviours. file: [22adde23d3] check-in: [e713b48c83] user: stephan branch: trunk, size: 131889
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: [6d46950060] check-in: [a2cbd2e343] user: stephan branch: trunk, size: 131892
2014-02-12
20:42
Moved ZIP-creation code into the public API. Expanded and fixed it considerably. Added f-zip tool. file: [09a5352a9f] check-in: [54a3117046] user: stephan branch: trunk, size: 131892
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: [7d26b93e6b] check-in: [c0ca757a66] user: stephan branch: trunk, size: 131893
2014-02-09
13:10
Got initial create-branch code working. file: [246e6e2752] check-in: [1c87e1134f] user: stephan branch: trunk, size: 131564
12:41
Some minor tinkering with internals to avoid re-calculating an R-card if a client explicitly sets it (needed by the branch operation). file: [1a83db35f8] check-in: [a7e50f7ba8] user: stephan branch: trunk, size: 131970
2014-02-06
22:09
Reworked fsl_file_canonical_name() to able to apply any arbitrary root prefix. Moved some code around, some of which, in hindsight, could not be moved. fsl_checkout_filename_check() now canonicalizes relative to the checkout root, not the cwd. Added fsl_deck_load_name(). Removed some __func__ references (portability concerns, possibly overblown). Added skeleton f-diff app. file: [0c939410f7] check-in: [19845c101c] user: stephan branch: trunk, size: 131323
2014-02-02
17:34
Minor code consolidation. file: [be71f915c6] check-in: [36241e7150] user: stephan branch: trunk, size: 130893
16:31
More buffer-to-string refactoring to save some memory. file: [dcf38af683] check-in: [72128a925d] user: stephan branch: trunk, size: 130477
14:53
Started refactoring some of the superfluous fsl_buffer data to (char*) to save on the sizeof()s. file: [d05c338567] check-in: [e0aa094e11] user: stephan branch: trunk, size: 130151
2014-01-30
20:36
Re-thought/implemented fsl_repo_dir_names() to return all dir names when given an RID, use the checkout if rid==0, and all versions if rid is negative. Other minor refactoring/renaming. Fixed fsl_cx_filename_collation() to return the right string. file: [15fd508fb7] check-in: [22ce993a61] user: stephan branch: trunk, size: 130213
2014-01-29
20:22
Switched from a static to dynamic buffer in an ill-fated corner wiki crosslinking. file: [dde6b41fc8] check-in: [e49cf382cd] user: stephan branch: trunk, size: 130163
2014-01-26
11:31
More refactoring/consolidation of the disparate config-db APIs. file: [b99a22db7a] check-in: [3551ebfb6b] user: stephan branch: trunk, size: 130094
2013-09-18
17:17
Minor error reporting cleanup. file: [afa6577387] check-in: [f0bdc0ff5a] user: stephan branch: trunk, size: 130039
2013-09-16
17:36
minor doc updates and internal cleanups. file: [9be4f2cc23] check-in: [4c2a2319dc] user: stephan branch: trunk, size: 129961
2013-09-10
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: [d33c45fd50] check-in: [63333ab345] user: stephan branch: trunk, size: 130052
17:35
fsl_deck_parse() now theoretically needs no fsl_cx, but it is untested in that configuration. file: [99515e7d4c] check-in: [0cd2dffff4] user: stephan branch: trunk, size: 129423
15:20
Added some test assertions. A pair of minor memory allocation optimizations. file: [329a679add] check-in: [9eb64a8a1d] user: stephan branch: trunk, size: 129125
14:23
Resolved task [ef8cd96ec9]: refactored fsl_deck_output() to not need a fsl_cx/db handle. file: [c57f55d72a] check-in: [8af01f757e] user: stephan branch: trunk, size: 128785
2013-09-09
18:32
Added fsl_iso8601_to_julian(). Minor doc updates. file: [e704dfaf1a] check-in: [479a7c897f] user: stephan branch: trunk, size: 129020
2013-09-08
15:39
Lots of minor additions and tweaks, mainly in support of app-level code. file: [ac65b31d7e] check-in: [7bfbc3dba6] user: stephan branch: trunk, size: 128770
2013-09-03
16:24
more work on the tickets bits (loading field list). file: [9ab79d180b] check-in: [0e80952975] user: stephan branch: trunk, size: 128764
15:40
More ticket bits. Minor API tweaks. file: [bc6cfc49ae] check-in: [5a47293811] user: stephan branch: trunk, size: 128586
14:12
Started porting in some of the ticket-handling bits. Added lots more (truly unnecessary) card validation on deck output. Minor fixes. file: [64e18b7426] check-in: [8e88708563] user: stephan branch: trunk, size: 128793
11:52
Added some 'truly unnecessary' casts to work around va_list/sizeof() mismatches which appear in some cases when passing through multiple levels of va_list proxy function, despite strong typing of the arguments. Not yet sure what else can be done here. file: [1fcfc7be59] check-in: [bd36f7182d] user: stephan branch: trunk, size: 125092
2013-09-01
16:06
another round of trivial cleanups and docs. file: [ef33d85f77] check-in: [9ed0b7a089] user: stephan branch: trunk, size: 124809
14:40
Found a reasonable heuristic for "the empty P-card problem" - output an empty P only for Manifests (and hope that rid 1 is the only Manifest without a P-card). file: [57e1b0b42c] check-in: [a8be8735eb] user: stephan branch: trunk, size: 124162
14:04
Lots of API name shortenings. Added fsl_content_get_by_sym(). file: [b0702707e4] check-in: [80945ffca3] user: stephan branch: trunk, size: 124304
12:54
s/fcli_cli_/fcli_/g. Minor error text change. file: [91e6923aa0] check-in: [945fea799c] user: stephan branch: trunk, size: 124379
12:51
Fixed an error check broken by recent refactoring :(. Fixed a related error reporting problem found (via assert()) by that breakage :). file: [d03f9425c9] check-in: [6ab281ea95] user: stephan branch: trunk, size: 124378
12:29
minor cleanups/fixes in crosslink callback handling. file: [e0bf6569b3] check-in: [510aecf972] user: stephan branch: trunk, size: 124356
2013-08-31
09:12
Ported in some control artifact touchups from Jan. Fixed a linking-related problem with FossilApp_local_help(). Accommodated API changes in th1ish binding. file: [b662cdf9ee] check-in: [1e923bce86] user: stephan branch: trunk, size: 124174
2013-08-28
21:13
Minor doc and error reporting improvements. file: [678785d8b0] check-in: [32f3595fa2] user: stephan branch: trunk, size: 123848
2013-08-27
21:53
minor tinkering before bed. nothing functional. file: [de56a8fa73] check-in: [41966a046d] user: stephan branch: trunk, size: 123812
21:00
Created an empty repo, including initial manifest, and fossil(1) can read it :). Discovered that i am still seeing the va_list/sizeof-related corruption on this 32-bit system if i am not way too careful with format specifiers. Need to look into that again, but too tired now (cannot explain why i have never seen this in other trees using this same code). file: [70900e31ac] check-in: [96cbb2d6ad] user: stephan branch: trunk, size: 123724
19:55
Started work on creating a new repo. Several related minor cleanups and additions. Simplified a couple APIs. file: [45ac4e3d11] check-in: [184bdcf4a4] user: stephan branch: trunk, size: 122261
2013-08-26
17:34
minor cleanups/reformatting. fixed a potential endless loop in some untested code. file: [2dc32259a1] check-in: [9cac575a31] user: stephan branch: trunk, size: 121865
2013-08-25
14:30
minor cleanups in the xlink callback code. fixed an error propagation case. file: [81a7a369be] check-in: [966209515b] user: stephan branch: trunk, size: 120095
14:15
First draft of artifact crosslink callbacks, to allow us to farm out the crosslinking work. file: [05c8ecf446] check-in: [fb18a52241] user: stephan branch: trunk, size: 119854
13:24
off-by-one fix in timeline text for sym-xxx tags. Added --new option to f-wiki. file: [b99e71cee3] check-in: [6dd9438f46] user: stephan branch: trunk, size: 119586
13:00
Fixed fsl_deck_unshuffle() to not fail if the deck _cannot_ have an R-card. s/fsl_deck_calculate_R/fsl_deck_R_calc/, for consistency. file: [cb44793ebd] check-in: [bc88a06866] user: stephan branch: trunk, size: 119586
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: [342ec337d5] check-in: [e0963e92ca] user: stephan branch: trunk, size: 119522
09:12
API renamings (shortenings) and minor API simplifications. Doc updates, some work on making the R-card optional. file: [bdd7512ced] check-in: [c0752c60c2] user: stephan branch: trunk, size: 118281
2013-08-24
23:21
Added new file for Event APIs. Minor refactoring and code consolidation. Fixed a crosslinking bug which used a wrong (old/changed) format specifier for event-XXX tags. file: [d9d451df7f] check-in: [b5b5a52965] user: stephan branch: trunk, size: 118707
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: [935be779ba] check-in: [31dda112b9] user: stephan branch: trunk, size: 118925
09:50
Minor cleanups. Got rid of snprintf() (not c89) now that the fsl_snprintf() mystery has been solved. file: [65dea5db2f] check-in: [a85df229af] user: stephan branch: trunk, size: 117988
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: [a2d1f4ad30] check-in: [6d746e7d25] user: stephan branch: trunk, size: 118518
08:54
Partial revert of the last commit (problem was the va_list/sizeof/snprintf() weirdness again). More experimentation with that particular problem - not sure why it's specific to sprintf(). file: [300b767532] check-in: [6df1e4338a] user: stephan branch: broke-r-card, size: 118524
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: [be9917c3ee] check-in: [f26b454fa1] user: stephan branch: broke-r-card, size: 117984
2013-08-23
21:31
Events have W-cards too, so this needs to be checked first. file: [85dcc1e32a] check-in: [aeee30c289] user: jan.nijtmans branch: trunk, size: 118556
16:07
Improved fsl_mf_guess_type() ordering from Jan. file: [debe14d345] check-in: [d0fcf5fbb7] user: stephan branch: trunk, size: 118556
2013-08-22
22:28
minor bugfixes, more manifest parsing validation, and more docs. file: [3c5e73e7af] check-in: [0d5225a61b] user: stephan branch: trunk, size: 118559
18:26
Ported in the "verify before commit" code, which ensures that all new content can be extracted from the db before it commits the transaction doing the adding. Fixed a memlink in fsl_repo_tag_symbol(). Added fsl_deck_save() and refactored fsl_repo_tag_rid() to use it. file: [432a511864] check-in: [57107f6bd2] user: stephan branch: trunk, size: 116267
13:44
fsl_internal.h ==> fossil-internal.h file: [bbaf354110] check-in: [2cae867331] user: stephan branch: trunk, size: 115102
2013-08-20
22:26
minor tinkering and fixes before bed. file: [53a6ffa8e3] check-in: [b1e93f23f1] user: stephan branch: trunk, size: 115099
21:29
Removed an invalid "else" (caused a code skip). Minor buffer termination tweak in corner case. file: [c05b9a5906] check-in: [8dd4a5d428] user: stephan branch: trunk, size: 115164
20:02
More work on crosslinking, minor refactoring/code movement. Added f-event test app. file: [d09170d3d3] check-in: [06179ab0e6] user: stephan branch: trunk, size: 115126
15:14
some minor improvements to manifest parsing. Corrected semantics of the "target" parameter to A-cards. file: [c21e3c9ffa] check-in: [07384b266d] user: stephan branch: trunk, size: 114723
2013-08-19
21:39
just one more error check... file: [f83bfbc37e] check-in: [f6ca1a7106] user: stephan branch: trunk, size: 114273
21:35
Ported in the MANIFEST-type crosslinking bits but they must remain untested until tomorrow. file: [4fd6fcf2fc] check-in: [b890029387] user: stephan branch: trunk, size: 114269
20:40
Minor cleanups. Replaced fsl_db_unix_to_iso8601() with fsl_unix_to_iso8601() (didn't know strftime() was C89). file: [8bc6a2c270] check-in: [fb9ef509fe] user: stephan branch: trunk, size: 111033
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: [4cac783881] check-in: [ec268be7f0] user: stephan branch: trunk, size: 110571
2013-08-18
22:02
Fixed a wrong int type (signed vs unsigned). file: [fcd9424408] check-in: [9bb338c980] user: stephan branch: trunk, size: 106424
20:45
minor API renamings (consistency). file: [d1bfcdb7ea] check-in: [5a37f7d1f0] user: stephan branch: trunk, size: 106414
20:08
Ported in the rest of add_link(). Compiles but is untested (next step: MANIFEST-type crosslinking). file: [d0ec680231] check-in: [2ecba8ed85] user: stephan branch: trunk, size: 106348
18:47
Started adding fsl_repo_mlink_add(), but there is much left to do there. file: [8170a89b57] check-in: [56ef8127b6] user: stephan branch: trunk, size: 101857
17:14
more steps on the road to porting add_mlink() and its dependents friends. file: [37e55abcae] check-in: [4bf94ef630] user: stephan branch: trunk, size: 94299
14:35
Split the code into some new files. Shortened fsl_cx_repo_xxx() and fsl_cx_checkout_xxx(), removing the _repo/_checkout part. file: [c33f2f8413] check-in: [2acbc2f85e] user: stephan branch: trunk, size: 91351
14:03
minor generic cleanups in the deck code. file: [6643e11871] check-in: [5fa697bee8] user: stephan branch: trunk, size: 92472
12:10
it turns out commit supports a --delta option and i need a delta manifest for testing, so here's a comment-only patch for delta testing. file: [60a24107e6] check-in: [11f79a13dc] user: stephan branch: trunk, size: 92575
04:31
minor assertion tweaks to allow parsing of out-of-repo manifests for testing purposes. file: [e7c3067354] check-in: [20b54357eb] user: stephan branch: trunk, size: 92431
03:53
minor tweak to the rid==1 R card kludge to only output the default R card when rid==1. file: [3997c668ae] check-in: [084ba71226] user: stephan branch: trunk, size: 92451
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: [31930eebea] check-in: [106aaf6898] user: stephan branch: trunk, size: 92420
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: [2364e655fb] check-in: [f94ea8a168] user: stephan branch: trunk, size: 91595
2013-08-17
19:48
another round of API renamings for consistency purposes. file: [e57fbba27c] check-in: [f0ceea7dd2] user: stephan branch: trunk, size: 86007
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: [af32d69b59] check-in: [2d13c82663] user: stephan branch: trunk, size: 86001
14:46
Ported some queries (back) to cached statements. Doc additions. Fixed a few bugs. file: [3dadc28eff] check-in: [dbabe48f7d] user: stephan branch: trunk, size: 83235
13:11
Renamed some functions, started moving the fsl_cx-specific code into fsl_cx.c. Added fsl_fatal(). file: [76570dccf0] check-in: [cd522883eb] user: stephan branch: trunk, size: 83188
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: [191f7e4cd8] check-in: [f739758c74] user: stephan branch: trunk, size: 83346
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: [0ae68dbe76] check-in: [6dc5c4ab76] user: stephan branch: trunk, size: 83185
11:17
Removed fsl_mf class, consolidated it with fsl_deck. file: [cf50c5a17a] check-in: [8bbef4153d] user: stephan branch: trunk, size: 79894
10:00
s/fsl_str_is_uuid()/fsl_is_uuid()/. file: [256b6a6359] check-in: [4325c020b0] user: stephan branch: trunk, size: 81786
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: [bb09c619dd] check-in: [8735de8159] user: stephan branch: trunk, size: 81846
06:14
Added a missing arg NULL check to fsl_deck_add_Q(). file: [ac9a2fa95c] check-in: [b3b6f9faf9] user: stephan branch: trunk, size: 75503
05:48
Can now round-trip manifests with cherrypick (Q) cards, with the caveat about the D card sub-second precision. Moved some of the more obscure bits out of the public API. file: [92c41d6ed1] check-in: [26beddc0a9] user: stephan branch: trunk, size: 75496
01:42
Ported in wiki manifest crosslinking. Untested - lacking some bits needed to test it. file: [e82148aa37] check-in: [1221ecaa56] user: stephan branch: trunk, size: 70449
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: [94ad0b9825] check-in: [d3253d4000] user: stephan branch: trunk, size: 67836
22:14
Fixed: F cards do not require the UUID parameter when removing the file. file: [07723c1704] check-in: [3cbd6674f5] user: stephan branch: trunk, size: 65915
17:20
accomodated API changed, deps bug kept it from being rebuilt/detected earlier. file: [0c5aeab734] check-in: [9e3e4cac12] user: stephan branch: trunk, size: 65434
15:11
Added missing support for the special "*" UUID in T cards. file: [90b8cd294f] check-in: [c1e1311565] user: stephan branch: trunk, size: 65428
13:22
ported in more of the fs function. Very minor cleanups in the mf code. file: [3ec1efadcc] check-in: [e229b7b03d] user: stephan branch: trunk, size: 65100
05:14
can now losslessly round-trip clusters through the manifest parser/generator (they have no D card to muck up the hash). file: [eed40d50e7] check-in: [8914dd2d3b] user: stephan branch: trunk, size: 65813
04:45
Reworked the fsl_mf_file class to be slimmer (no buffers, and perms as an integer). Can now losslessly round-trip F cards from/to manifests (with one caveat involving sub-second precision in conversion of D card values). file: [3f136341d2] check-in: [ea1c6d0b32] user: stephan branch: trunk, size: 65020
02:21
Updated autosetup. Added guess-manifest-type-based-on-cards logic to the parser. file: [c8f81b87c1] check-in: [4c418820b6] user: stephan branch: trunk, size: 63741
2013-08-14
23:49
Minor cleanups to the last round of refactoring. Cleaned up help subsystem for FossilApp a bit. file: [e67352fd53] check-in: [3cc2cd8a5a] user: stephan branch: trunk, size: 63223
23:15
Added fsl_sha1_cx_empty, for consistency/completeness. Minor cleanups to the last round of refactoring. file: [ea7d49241e] check-in: [9307625bb7] user: stephan branch: trunk, size: 63430
22:54
More work on the deck/manifest API. Moved manifest test code into test-mf.c. file: [ed0c9019b0] check-in: [ac713788f4] user: stephan branch: trunk, size: 63379
21:53
lots of minor reworking of fsl_deck, more to come. file: [32f36bf6df] check-in: [fab82a66a0] user: stephan branch: trunk, size: 62606
19:17
reimplemented/extended some of the fsl_deck_set_CARD() impls to do better validation and report errors in more detail. file: [902ccd5c10] check-in: [721538f630] user: stephan branch: trunk, size: 58119
18:57
More work on manifest parsing. file: [275cd859f4] check-in: [1130259d32] user: stephan branch: trunk, size: 57537
2013-08-13
20:04
Timeline now shows tag values (if available) for +/-closed tags. Help text improvement. file: [9b73e55da8] check-in: [5726a64134] user: stephan branch: trunk, size: 54551
18:35
Successfully round-trip parsed/output a basic manifest (T, U, D cards). file: [30be685eec] check-in: [005bc0786e] user: stephan branch: trunk, size: 54183
15:32
manifest parser now validates Z cards. file: [3299801e52] check-in: [be7a6ff9cb] user: stephan branch: trunk, size: 45783
13:17
Renamed header files from fossil/*.h to fossil-scm/*.h, to avoid any potential confusion with the fossil FS or other fossils out there. file: [d47266e079] check-in: [99a4a0ff23] user: stephan branch: trunk, size: 45097
13:12
More work on manifest parsing. Removed tag-test code from test.c b/c it is effectively done in f-tag.c. file: [53ab768593] check-in: [00782f790c] user: stephan branch: trunk, size: 45093
10:55
Added fsl_cx::flags, APIs to set/get them, and a flag to disable the generation of timeline event entries when crosslinking control manifests. file: [90ae232b7e] check-in: [a62817438b] user: stephan branch: trunk, size: 42987
2013-08-12
15:44
Cleanups and fixes in the db bits. s/FSL_TAG_xxx/FSL_TAGTYPE_xxx/g. Fixed a memleak in the handling of the fsl_db::filename entries for the special dbs. fsl_cx_checkout_close() now always closes its accompanying repo first because the repo is attached and we end up in a weird state if we do not. file: [78de201eea] check-in: [ba9abe6330] user: stephan branch: trunk, size: 42847
14:01
Fixed wrong tag names output in crosslink-generated messages, caused by copy-paste porting of code with different semantics :/. Other minor cleanups. Added --dry-run to f-tag. file: [445ad53a0e] check-in: [6f131086fc] user: stephan branch: trunk, size: 42803
12:07
removed a stray debug line. file: [229dd7da62] check-in: [d570a577a6] user: stephan branch: trunk, size: 42449
05:25
Started down the load road to manifest parsing, but it's time for sleep. file: [f90fd404ae] check-in: [7ee2496195] user: stephan branch: trunk, size: 42478
2013-08-11
21:38
finished(?) the crosslinking of CONTROL artifacts (tag changes). :-D file: [65b7ffcbc3] check-in: [15958dd832] user: stephan branch: trunk, size: 39495
18:15
Lots of work on manifest crosslinking. IN THEORY tag changes are now feature-complete, but i want to commit this and back it up BEFORE testing this write operation... file: [d0fd459829] check-in: [52ec7915e3] user: stephan branch: trunk, size: 35505
15:42
More skeleton work on manifest crosslinking. file: [110a4f6e19] check-in: [a95132ac5c] user: stephan branch: trunk, size: 34057
14:33
Fixed sorting of T card output when multiple cards are played. fsl_card_is_legal() now distinguishes between optional and required cards. file: [d9f34842c7] check-in: [216f1abe17] user: stephan branch: trunk, size: 32285
10:35
Ported in content_new() as fsl_repo_content_new(). Added a prepared statement caching mechanism similar to db_static_prepare() (but without the statics). file: [b60a2a3072] check-in: [0c18f5b486] user: stephan branch: trunk, size: 30859
2013-08-10
23:29
more API renaming, expanded the FSL_xxx_T_PFMT collection. file: [3622e8a565] check-in: [69dd500a28] user: stephan branch: trunk, size: 30838
22:19
Fixed output formatting of W cards. file: [ca608d2d55] check-in: [576c3b5eec] user: stephan branch: trunk, size: 30504
21:20
Started work on manifest crosslinking, but only skeleton code is in place. Time for the dog walk... file: [a11663a270] check-in: [5b89c04e9b] user: stephan branch: trunk, size: 30132
12:44
added/fixed license headers. file: [eca4ff7762] check-in: [f65b6ba973] user: stephan branch: trunk, size: 28130
2013-08-09
18:38
Ported in the low-level content cache bits. Fixed CANCEL tag cards to not output their value. file: [a7ce0c3145] check-in: [76c3b5a830] user: stephan branch: trunk, size: 27472
2013-08-08
16:32
Renamed fsl_mf.c → src/fsl_mf.c. moved main sources into src/. moved fsl_internal.h to include/fossil. file: [edbab2daa7] check-in: [dd9401360d] user: stephan branch: autosetup, size: 27398