Login
Timeline
Login

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

222 check-ins using file src/utf8.c version 8163e95fa5

2021-10-10
06:56
Minor split diff line number columns formatting tweak. check-in: a095d05a98 user: stephan tags: trunk
2021-10-09
23:18
Moved the common ANSI color init code from f-adiff and f-vdiff into fcli_diff_colors(). check-in: 1e50499a37 user: stephan tags: trunk
22:58
Added --color flag to f-adiff and f-vdiff to force ANSI color codes (on diff builders which use them) even if stdout is not a terminal. check-in: ea1ab5264d user: stephan tags: trunk
22:52
Removed some dead code. Minor doc tweaks. check-in: bbf5a75a76 user: stephan tags: trunk
22:47
Added a two-pass option to fsl_diff_builder and reimplemented split-mode diff to use it so that it can measure widths on pass 1 and do the work in pass 2 without having to buffer all the of the output. An f-vdiff of this change costs approx 3200 allocations and 9MB total RAM less than doing the same with the previous version. check-in: e1dcd0294b user: stephan tags: trunk
21:00
Split-mode text diff now colorizes whole lines instead of just the line numbers and modification markers. check-in: ff791a0936 user: stephan tags: trunk
20:14
Updated f-adiff to use the v2 diff API. Taught the split-view diff to respect (more or less) the fsl_diff_opt::columnWidth hint and updated f-vdiff and f-adiff with a flag to set that. check-in: f0d31fddf1 user: stephan tags: trunk
09:18
f-vdiff now treats a combo from/to version of (. .) as (current .). Unrelated insignificant cleanups. check-in: 273f215234 user: stephan tags: trunk
08:39
f-vdiff: if passed only one version argument in the form '.' then treat it as if ('current' '.') had been passed in. check-in: 7e1765a845 user: stephan tags: trunk
08:33
Doc typos. check-in: 43671b7113 user: stephan tags: trunk
08:26
Moving-around of header-side code and minor typo/layout fixes. check-in: 8b04829588 user: stephan tags: trunk
07:54
Minor diff API renaming. f-vdiff now accepts filename arguments as well as globs. Added fsl_cx_has_ckout(). check-in: 78e6f53d8a user: stephan tags: trunk
06:56
Added --lib-version global fcli flag and upped the library version, rather arbitrarily, to 0.5-ish. check-in: ed0599af21 user: stephan tags: trunk
06:41
Removed the superfluous final argument from fsl_diff_builder::skip(). It doesn't serve any real purpose in this port of the API because our addition of the fsl_diff_builder::finish() method can be used to handle any end-of-diff stuff. check-in: 939205a0f6 user: stephan tags: trunk
06:30
Unified diff builder: when running in line-number mode, use ~~~~ separators instead of conventional diff chunk markers. check-in: dc690136e8 user: stephan tags: trunk
05:57
Added some docs and minor cleanups in f-vdiff. check-in: a725befe58 user: stephan tags: trunk
05:35
Experimentally added provisions for color coding using ANSI escape sequences to the fsl_diff_opt interface and applied it to the v2 unified and split diff views. The interface for this is subject to change. check-in: b462692d92 user: stephan tags: trunk
03:57
Minor diff builder API renaming. Switched f-vdiff to use the diff builder API. Deprecated the fsl_diff_text() (v1) diff API, but have no short-term plans to remove it. check-in: ea96c7c987 user: stephan tags: trunk
03:04
Latest upstream fnc.c, adapted for changes made to the library earlier tonight. check-in: 072d639651 user: stephan tags: trunk
02:57
More diff builder-related docs. Added diff-skip lines to the split-diff output and made that diff builder always emit line numbers. check-in: 32c14ba175 user: stephan tags: trunk
2021-10-08
23:30
Initial impl of text-mode split (side-by-side) diff. check-in: 6e55183b23 user: stephan tags: trunk
21:51
Moved from code from f-vdiff into the public API. Several fixes in f-vdiff. check-in: 39180d2fe8 user: stephan tags: trunk
19:46
Fixed a NULL deref in the diff code when one version of a file being diffed does not exist (e.g. when diffing a new file against a non-existent prior version). This fixes a segfault when fnc is asked to diff a checkin which contains a new file. check-in: 6aac145a22 user: stephan tags: trunk
18:20
Added more makefile-style patterns to editorconfig. check-in: 92022044d9 user: stephan tags: trunk
18:15
Added .editorconfig. check-in: cf791eca0b user: stephan tags: trunk
03:56
Added f-annotate to the list of installed f-apps. check-in: 3633f30572 user: stephan tags: trunk
03:55
Latest upstream fnc.c. check-in: 4df3ad2d82 user: stephan tags: trunk
03:15
Added an #if to protect a var made unused by the previous checkin. check-in: acbd39275f user: stephan tags: trunk
02:58
Build: delay build of libfossil.c/h/o until needed. Disabled inclusion of the as-yet-unused regexp sqlite3 module because of mysterious link errors triggered by the build reordering. check-in: a5fa64f558 user: stephan tags: trunk
2021-10-07
04:14
Updated f-apps/index.md for f-annotate. check-in: 975dccb1ce user: stephan tags: trunk
03:34
Merged in annotate feature branch and fixed horrible diff calculation bug. check-in: e3d91a7fed user: stephan tags: trunk
03:28
Remove all but -R and -V short form global options. To avoid collisions with app code, restrict global options to long-form, with the exception of the abovementioned two common options as discussed in /chat. check-in: 6d2c463307 user: mark tags: trunk
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). Closed-Leaf check-in: e456c5ab39 user: stephan tags: port-annotate
02:02
Eliminated some extraneous diff-internal code. check-in: 32ba71065d user: stephan tags: trunk
01:55
Merged inadvertent fork. check-in: 81a7b3af8a user: stephan tags: trunk
2021-10-06
23:21
Have narrowed down the source of the annotation difference (as it were) to the lower-level diff code, but _why_ libf is getting different results from fossil there (unless we force _both_ to do optimal matching on all diffs) is still a complete mystery. check-in: 0e55962dc9 user: stephan tags: port-annotate
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. check-in: 150bb5b77c user: stephan tags: port-annotate
16:18
fsl_ckout_fingerprint_check() now returns 0 if no checkout is opened. check-in: 1fb9a31f45 user: stephan tags: trunk
16:07
Add a few errno error codes to fsl_errno_to_rc(). check-in: 12ce7c1243 user: mark tags: trunk
14:53
Latest upstream sqlite3 amalgamation. check-in: dfcc431208 user: stephan tags: trunk
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. check-in: b7282cdbdc user: stephan tags: trunk
2021-10-02
18:39
Expanded fsl_vpath_shortest_store_in_ancestor()'s interface a bit. check-in: 8ad0b44715 user: stephan tags: trunk
18:21
Minor simplification of a bit of the previous checkin. check-in: d3d618d140 user: stephan tags: trunk
18:12
More work on the annotate interface, plus far too many nearby-yet-unrelated tweaks such as costness changes. check-in: b601f20cff user: stephan tags: trunk
14:11
Started work on the annotate/praise/blame interfaces but they're not yet even remotely implemented. check-in: 434ede2046 user: stephan tags: trunk
14:06
Some diff API renaming. Fixed a bit of memory corruption (overwriting of part of a struct) in the tcl-format diff builder. check-in: 3fc18938fd user: stephan tags: trunk
04:04
Corrected install path for man pages: PREFIX/share/man instead of PREFIX/man. check-in: 1b1d755e76 user: stephan tags: trunk
2021-10-01
18:00
Minor tinkering with the new diff API. check-in: a8ac65d267 user: stephan tags: trunk
16:31
Minor fixes to address gcc-11 errors discussed in chat. Check a set but unused variable in the new diff implementation, and fix arguments with mismatched bound in the md5 code. check-in: a161c58256 user: mark tags: trunk
2021-09-28
03:07
Added line number support to the unified diff builder. Adjacent tinkering. check-in: eddb657374 user: stephan tags: trunk
2021-09-27
19:39
Minor tcl diff output cleanups. check-in: 0cce2e5e25 user: stephan tags: trunk
19:19
Implemented the tcl-generating diff builder, but just the actual diff output. Adding the fossil-side diff.tcl wrapper for it is TODO. check-in: ec81b8c45b user: stephan tags: trunk
17:50
diff builder: some API renaming. Unified diff now elides the Index line until it's toggled on with a flag. Doc improvements. check-in: 16d03d5f00 user: stephan tags: trunk
14:58
Found a seemingly agreeable workaround for the unified diff format chunk header disagreement with the diff builder driver algo. Doc improvements. Renamed several diff builder methods. check-in: cb7851a865 user: stephan tags: trunk
02:11
diff-builder-based unified diff now mimics fossil's non-diff-builder-based unified diff except that this one adds an Index line (feature or bug?), but to do this we had to bypass what _appears_ to be purely cosmetic feature of the diff-builder approach which merged blocks which have a gap equal to or smaller than the diff context size. How best to resolve that is as yet unclear. check-in: a192f3e814 user: stephan tags: trunk
2021-09-26
22:56
Seem to have gotten unified text diff _mostly_ working with the diff builder interface, though it required extending that interface a bit. We're still outputing more context than fossil does, for as-yet-unknown reasons, but the suspected off-by-one mentioned in the last commit was solved (it was not an off-by-one, but misuse of comparison routine results in fsl__diff_optimize()). check-in: 103399cdf7 user: stephan tags: trunk
22:43
Sigh. A facepalmy fix for the facepalmy fix at [c7a1d658fd]. check-in: 6f09ed4a26 user: stephan tags: trunk
19:15
Started work on a text-mode unified diff fsl_diff_builder, but it seems that the interface cannot support that one (as distinct from an HTML-mode unified diff). It turns out that fossil(1) uses the older-mode diff code for that case, duplicating much of the function which drives the fsl_diff_builder. These bits are #if'd out for now, but related adjacent changes are also in this checkin. check-in: 930e2b9c78 user: stephan tags: trunk
16:32
Ported over, but have only lightly tested, fossil's JSON-format diff builder. check-in: 14267d8d3a user: stephan tags: trunk
15:58
fsl_appendf() %j (JSON string) now supports the .* modifier to limit how much of the string is output, with the caveat that it is not multibyte-aware so will happily truncate a multibyte character. This was necessary for JSON-ifying partial lines of diffs when porting in fossil's 2021-09 JSON diff builder. check-in: 2936a80e9f user: stephan tags: trunk
15:52
Facepalm fix for [ee32b99f4765]. check-in: c7a1d658fd user: stephan tags: trunk
14:33
More work on the 2021-09 diff rendering bits. Fixed a couple deeply-internal diff bits which leave me wondering how diffs _ever_ worked here. check-in: af4d016879 user: stephan tags: trunk
14:29
Build kludge to get libfossil.{c,h} out of the TAGS file. check-in: ee32b99f47 user: stephan tags: trunk
2021-09-18
17:39
More work on the 2021 diff backend port. Still much to do. check-in: ed33831c3f user: stephan tags: trunk
16:14
license: added a note about having DRH's consent to re-assign copyright on code ported from fossil into libfossil. check-in: c779392286 user: stephan tags: trunk
14:36
Initial work on porting in the 2021-era diff generation APIs. check-in: e0d00097e0 user: stephan tags: trunk
10:48
Tiny internal optimization in diff output. check-in: 5a1f0835b9 user: stephan tags: trunk
10:39
Changed semantics of fsl_appendf() to 0 on success, non-0 on error. Removed fsl_appendf_f() and replaced its uses with fsl_output_f(). Be on the lookout for subtle bugs, but the old printf()-style return semantics have never been relied upon so this should be side-effect-free. check-in: b2e283edbf user: stephan tags: trunk
2021-09-17
05:24
Added the logic for handling the --no-fnc configure option (disables ncurses check and client/fnc build). check-in: 06d485c07c user: stephan tags: trunk
05:17
Added (un)install rules for libfossil.*, non-test f-apps, and f-s2sh. check-in: 2fbfca2368 user: stephan tags: trunk
2021-09-15
13:37
Merged inadvertent fork. check-in: 9c7743c825 user: stephan tags: trunk
12:54
Fixed a buffer overwrite by 1 byte which corrupted a fsl_deck object and triggered assertion. check-in: a1ef6254e5 user: stephan tags: trunk
2021-09-13
23:11
Latest upstream fnc. check-in: 7efa956d12 user: stephan tags: trunk
2021-09-07
20:03
Build: more autosetup code moved from auto.def to wh-common.tcl and Makefile added to distclean rules where appropriate. check-in: 5114263392 user: stephan tags: trunk
2021-09-06
23:09
More autosetup-related cleanups. check-in: 523dbf8d93 user: stephan tags: trunk
20:28
Minor autosetup cleanups. check-in: 34622de2e5 user: stephan tags: trunk
18:49
wh-common.tcl: wh-bin-define now caches based on the combination of its arguments, not just the first argument. check-in: 29ee621588 user: stephan tags: trunk
2021-09-05
18:57
Minor cosmetic build touchups. check-in: 6c9b609833 user: stephan tags: trunk
17:17
Correct f-aparse's timeline text prefix (was using old name of f-mfparse). check-in: 7549ef1764 user: stephan tags: trunk
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. check-in: 395518ff88 user: stephan tags: trunk
16:33
Build: make sure that the amalgamation build does not end up in the etags file. Look for etags binary at configure-time instead of build-time. check-in: 2013bb6303 user: stephan tags: trunk
14:41
Simplified previous checkin. check-in: f42cf853ab user: stephan tags: trunk
14:32
Fixed -h/--no-header flag to f-query - was previously a no-op. check-in: 701619e142 user: stephan tags: trunk
2021-09-02
18:43
Adapted amalgamation.html generator to be able to get the file size on both linux and bsd (their /usr/bin/stat's work entirely differently). check-in: 3c58318a6b user: stephan tags: trunk
18:02
Latest upstream changes from fnc. Includes a screen-rendering bug fix, and improved error handling/reporting in the multibyte to wide-char conversion. check-in: ce9e0fcfd0 user: mark tags: trunk
02:54
Latest upstream fnc, including install rules. check-in: 4dcc4638df user: stephan tags: trunk
2021-09-01
14:31
Initial port of severely overengineered (un)install rules from an older project. Hopefully this doesn't break much. check-in: 906b382ec6 user: stephan tags: trunk
12:35
Code consolidation in wh-common.tcl. Moved libf's module loader check into wh-common.tcl. check-in: a90130eadb user: stephan tags: trunk
11:41
Factored some of auto.def into reusable autosetup/wh-common.tcl for reuse in this tree, fnc, and cwal. check-in: d5be981fc0 user: stephan tags: trunk
10:45
Updated to latest upstream autosetup (0.7.0+). check-in: cb4a63f07c user: stephan tags: trunk
04:08
Brought client/fnc/Makefile.in up to date with regards to fnc. This might fix the debian build. check-in: 7673fd7c59 user: stephan tags: trunk
03:56
auto.def now checks for bash and sets its full path in config.make. check-in: d3b61304ba user: stephan tags: trunk
03:48
config.make: changed SHELL:=/usr/bin/bash to /bin/bash (seems to be more portable). check-in: 43da785954 user: stephan tags: trunk
03:33
Latest upstream fnc.c. check-in: 69427e2bd9 user: stephan tags: trunk
2021-08-31
16:42
Latest upstream fnc.c. check-in: f1236f3110 user: stephan tags: trunk
2021-08-30
12:15
Minor doc, constness, and char-as-bool tweaks. check-in: 3ada2fce76 user: stephan tags: trunk
12:15
Fixed subdir build not diving into dir client/fnc. check-in: c4eb22996f user: stephan tags: trunk
03:16
Minor doc correction. check-in: 27e6e35f3d user: stephan tags: trunk
2021-08-29
13:30
Added missing first half of an extern "C" block in C++ compilation mode. check-in: 4daa314918 user: stephan tags: trunk
12:31
Added build bits to create and push builds of the amalgamation as /uv content. check-in: fbd839f03a user: stephan tags: trunk
12:31
Fixed a null pointer deref in a f-ci misuse case. check-in: 93f9b07776 user: stephan tags: trunk
2021-08-25
13:59
Pulled in upstream fnc auto.def patch to disable pkg-config ncurses check on macOS due to lib path incompatibilities between base OS, brew, and/or macports. check-in: 7644dfda4f user: stephan tags: trunk
12:27
Ported in ncurses detection/build improvements from main fnc tree. check-in: 62de1836b6 user: stephan tags: trunk
2021-08-24
18:57
Latest upstream fnc.c. check-in: 5d4335a934 user: stephan tags: trunk
18:55
Removed a senseless result code check. check-in: 5209050f47 user: stephan tags: trunk
18:33
Fixed a buffer-reset bug in the previous commit. check-in: 93f0b5c202 user: stephan tags: trunk
18:31
Per /chat discussion, refactored [043c2667c95e] to internally fall back to the v0 fingerprint check, instead of exposing that as part of the API. Resolved libfossil.{c,h} build deps bug. check-in: 15c135de66 user: stephan tags: trunk
17:12
Enhance repo fingerprint check to cover old repositories. This commit adds an extra check to match repository fingerprints using the original algorithm that some old repositories in the wild may need. check-in: 043c2667c9 user: mark tags: trunk
13:31
Build fix for the amalgamation build on macOS. The new amalgamation build requires lib iconv on macOS. check-in: ee5b0675a1 user: mark tags: trunk
2021-08-23
15:36
Build-related cleanups. check-in: 5d405b727b user: stephan tags: trunk
14:40
Added HAVE_CONFIG_H check to libfossil.h so a local config.h can be used to set libf-specific defines before libfossil-config.h defaults any to conservative values. check-in: 5f528e01b4 user: stephan tags: trunk
14:10
Added missing (or at least seemingly missed) sqlite3ext.h, needed for building with the libfossil amalgamation. check-in: e8e02907ee user: stephan tags: trunk
13:21
libfossil.o is now built using the configured compiler instead of trying with both gcc and clang because... fnc is now built against the amalgamation. This leads to a much larger binary but will simplify the upstream source tree considerably once this change is ported over to there. check-in: c2bb259b7c user: stephan tags: trunk
09:52
Error handling cleanup improvements in f-adiff.c. check-in: d9c0884771 user: stephan tags: trunk
2021-08-22
22:56
Pulled in [https://cvs.bsdbox.org/fnc/info/8804f1b9fb573a2ce444 | upstream fnc checkin 8804f1b9fb573a2ce444]. check-in: d9d98ad8f9 user: stephan tags: trunk
2021-08-19
19:18
Pulled in upstream fnc checkin [https://cvs.bsdbox.org/fnc/info/b9024c7b708465ed1cfa | b9024c7b708465ed1cfa], which line-wraps long checkin comments in the diff view. check-in: 57d36d8668 user: stephan tags: trunk
2021-08-18
20:25
Initial go at getting fnc integrated into the tree. The configure part is as yet untested on BSD, though. check-in: 9c613222b2 user: stephan tags: trunk
2021-08-14
19:58
Initial go at detecting curses from auto.def for use in importing fnc into this tree. Still untested on BSD. check-in: 5809d65395 user: stephan tags: trunk
2021-08-09
20:07
Added fcli_progname() as a portable substitute(?) for BSD's getprogname(). check-in: 3d0057a245 user: stephan tags: trunk
2021-08-05
15:44
Another build-fix to account for a recently-removed file. check-in: 23a5d44c08 user: stephan tags: trunk
15:40
Build fix for the amalgation. check-in: 074f06e1a9 user: stephan tags: trunk
2021-07-29
09:10
Removed references to a now-unused file. check-in: 7acda68f55 user: stephan tags: trunk
2021-07-24
11:05
Latest upstream s2 for what might be the 'final' changes needed to integrate the CWAL_OBASE_ISA_HASH option. check-in: 9403882395 user: stephan tags: trunk
2021-07-23
11:06
Latest upstream s2 for new pragma(build-opt IDENTIFIER), which gives us a way to query build-time options from scripts. check-in: d6b2323055 user: stephan tags: trunk
05:07
Latest upstream s2 which resolves the last known open issue with the CWAL_OBASE_ISA_HASH toggle. check-in: 487bc7d38e user: stephan tags: trunk
2021-07-12
14:59
Merged inadverted fork from the BSD box. check-in: c8fefc3d17 user: stephan tags: trunk
14:24
Latest upstream s2 with some minor build-time, doc, and unit test tweaks. check-in: a08eb62a66 user: stephan tags: trunk
03:08
Latest upstream s2, configured to use hashtables for property storage. check-in: ea62cfc2ec user: stephan tags: trunk
01:05
Initialized some vars to squelch compiler warnings. check-in: 855c60d0ee user: stephan tags: trunk
2021-07-11
09:16
Latest upstream s2, for testing purposes. check-in: 9e2a6e3934 user: stephan tags: trunk
2021-07-07
03:28
Added tools/schema-info-views.sql, gleaned from the sqlite forums. check-in: f5bf8a80c9 user: stephan tags: trunk
03:08
Fixed a broken empty-title check in forum post crosslinking. check-in: 8d757883d2 user: stephan tags: trunk
2021-06-26
09:32
Another upstream s2, to eliminate s2_rc_cstr(). check-in: aed85cfd53 user: stephan tags: trunk
08:19
Pulled in latest upstream s2. check-in: f97531baac user: stephan tags: trunk
2021-06-25
06:42
Minor cleanup to [1d193a7055ad13fb]. Corrected an is-in-a-transaction check in f-ci to handle a pending rollback. check-in: 5b5d1f2030 user: stephan tags: trunk
05:29
Merged an inadvertent fork. fsl_checkin_enqueue() can now accept its files as vfile.id values, eliminating a duplicate vfile check. check-in: 1d193a7055 user: stephan tags: trunk
04:26
Removed an unnecessary #include. check-in: 681c930f1d user: stephan tags: trunk
2021-06-06
12:41
Internal doc and spacing tweaks. check-in: 8015c8a698 user: stephan tags: trunk
07:30
Removed some dead code. Minor internal doc touchups. check-in: 1fff00e7c7 user: stephan tags: trunk
2021-06-04
11:12
f-tag now rejects tags starting with (sym-, wiki-, tkt-, event-), as those are used internally by fossil. check-in: 82b4bb88ac user: stephan tags: trunk
2021-06-01
03:45
Minor var init order tweak to ease my mind about its handling in a particular error case. check-in: 7b792bd557 user: stephan tags: trunk
03:27
Minor doc and char-to-bool touchups. check-in: b199e29d41 user: stephan tags: trunk
2021-05-31
02:08
f-ci can now determine when it is passed names not known to the repo, as distinct from being passed names which refer to unchanged files, and fails with an error in that case. check-in: b53ba022ec user: stephan tags: trunk
2021-05-30
23:00
Tiny internal cleanups. check-in: 20b912e015 user: stephan tags: trunk
03:23
Added a harmlessly missing #undef. check-in: 36893a35c0 user: stephan tags: trunk
2021-05-29
22:39
Ported in [https://fossil-scm.org/home/info/31113cd2b992cde3], which enables propagation of tags in wiki, technote, and forum posts. This change is not yet known to be 100% compatible with existing algos which may expect the plink table to only contain checkins. check-in: 0e159c2f67 user: stephan tags: trunk
2021-04-18
13:37
When creating initial checkin for a repo, use ms precision for the D-card, instead of seconds precision. Do the same in f-test-ciwoco to avoid a slight time warp in the timeline caused by repo creation and the first checkin having the same timestamp. check-in: cc34c60a45 user: stephan tags: trunk
2021-04-17
10:06
Added missing ticket schema when creating a new repo. check-in: 419990a788 user: stephan tags: trunk
05:58
f-ci now runs in non-dry-mode by default (no longer needs the -y flag). check-in: a038536522 user: stephan tags: trunk
2021-04-16
16:24
Added a negative test for the repo/checkout fingerprint check. check-in: 27433d3e1c user: stephan tags: trunk
16:17
Implemented repo/checkout fingerprint check and added a check for it in f-status, f-timeline, and f-ci (failing fatally on a mismatch, instead of just warning like fossil does). We now update the fingerprint in the ckout db whenever we update the ckout version. We do not yet have an automatic recovery mechanism analog to fossil's vfile.c:vfile_rid_renumbering_event(). check-in: 8c9cf48702 user: stephan tags: trunk
14:32
Inject a dummy rcvfrom entry when creating a new repo db in order to squelch the fingerprint-has-changed warning when fossil opens the db. check-in: 835d5a059b user: stephan tags: trunk
13:47
Added a potential TODO to fcli's CLI processing. check-in: d549476263 user: stephan tags: trunk
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. check-in: 755c059371 user: stephan tags: trunk
03:59
Updated C++ and s2 bindings for recent API changes. check-in: b490766728 user: stephan tags: trunk
03:53
Renamed fsl_cx_forbid_delta_manifests() to fsl_cx_forbids_delta_manifests() so that it doesn't sound like a setter function. check-in: 7501bb92f9 user: stephan tags: trunk
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. check-in: ea6074b8ad user: stephan tags: trunk
2021-04-13
16:04
Added option to toggle R-card generation for f-test-ciwoco. Added extra/unhandled args check to f-timeline.c. check-in: 2b05c5915f user: stephan tags: trunk
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). check-in: e9aed30c66 user: stephan tags: trunk
14:58
f-test-ciwoco now sets a branch name when creating an initial commit with files, else we can't resolve the entries using a branch name. check-in: 1a1154ca84 user: stephan tags: trunk
14:47
Added further commit to f-test-ciwoco to demonstrate that new file versions cause prior versions to get delta-compressed. check-in: ee83ef5f2d user: stephan tags: trunk
14:26
Corrected a memory mis-read of an MD5 hash using a SHA1/SHA3 length. Minor cleanups up f-test-ciwoco. check-in: 88ed2e9e9d user: stephan tags: trunk
14:17
Integrated deck-reworking branch. check-in: 366ce326e6 user: stephan tags: trunk
14:15
fsl_repo_create() now unlinks a failed repo and unlinks it before starting instead of using fopen() to truncate it. f-ciwoco is working. Closed-Leaf check-in: 63d85115a9 user: stephan tags: deck-reworking
13:20
Fixed a broken assert() in fsl_ckout_manage() when current rid==0. Fixed duplicate mlink entries for an initial commit with no parent. Finally realized that the dbs cannot be detached when a transaction is pending and adjusted the fsl_cx db-close interfaces to be able to report that. Started work on a demo app which creates and populates a repo without using a checkout, but it's incomplete - got sidetracked chasing down those bugs. check-in: fcdeddd18a user: stephan tags: deck-reworking
07:33
More work on the fsl_deck_derive()-related bits. Internal API modernization in fsl_content_put_ex(). check-in: 64b07ff5a8 user: stephan tags: deck-reworking
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(). check-in: f839ab3edd user: stephan tags: deck-reworking
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 :). check-in: 2791e665cc user: stephan tags: trunk
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. check-in: e314f2f9df user: stephan tags: trunk
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(). check-in: 176d9af72a user: stephan tags: trunk
2021-04-05
10:23
Minor generic cleanups in fcli and related app-side code. check-in: c62ffa1046 user: stephan tags: trunk
2021-04-04
05:07
f-apps: modernized/simplified usage of exit-on-help. Removed some bogus CLI flag entries from f-config. check-in: 1d3192c82b user: stephan tags: trunk
04:58
f-apps: use fcli_cx() instead of accessing fcli.f directly. check-in: 9c7cf37828 user: stephan tags: trunk
02:09
Fixed a var init order which broke f-add. check-in: 764f2b5396 user: stephan tags: trunk
2021-03-31
12:17
Renamed fsl_vfile_load_from_rid() to fsl_vfile_load(). Added fsl_vfile_unload() and fsl_vfile_unload_except(). f-revert can now revert files to specific checkin versions while retaining the current checkout version. check-in: 40fcc816f0 user: stephan tags: trunk
12:16
Fixed f-ci leaf-marking bug introduced in [43d1902823fd16b9]. check-in: df0f22661b user: stephan tags: trunk
09:47
Added fsl_ckout_vfile_ids() variant of fsl_filename_to_vfile_ids() in prep for an upcoming experiment. Fixed a cleanup order in fcli_shutdown(). check-in: 889d2e32bb user: stephan tags: trunk
05:51
Corrected an internal doc falsehood introduced in the previous commit and cleaned up adjacent code. check-in: 5b3a06886c user: stephan tags: trunk
05:41
Minor f-apps updates. Reverted f-revert to using the filename variant of fsl_ckout_revert(), instead of the fsl_filename_to_vfile_ids() variant, because the former allows the user to revert renames using the old or new names, whereas the latter only sees the new names. Fixed a range error in fsl_stmt_bind_fmtv() when binding a string as blob, and that function's blob/string bindings no longer copy their arguments' memory. Changed fsl_stmt_bind_step() return semantics to enable fetching data. check-in: 43d1902823 user: stephan tags: trunk
02:11
Minor cosmetic tweak to fcli help output. check-in: b016dfaa71 user: stephan tags: trunk
02:07
Fixed a null pointer deref when calling f-aparse with no arguments. check-in: c9e1f6c6dc user: stephan tags: trunk
2021-03-29
09:27
Removed a stale typedef left over in the previous commit. check-in: 521f5df2a3 user: stephan tags: trunk
09:26
Corrected a misunderstanding about fsl_id_bag traversal consuming its contents (which is not the case) and adjusted API signatures to make that clearer. check-in: 0660107d5b user: stephan tags: trunk
02:39
Internal tweak in the fsl_db API to take advantage of SQLITE_PREPARE_PERSISTENT. Doc fix in fsl_buffer_stream_lines(). check-in: 230e3ff6f6 user: stephan tags: trunk
2021-03-28
17:10
Refactored fsl_ckout_unmanage() to optionally use the new fsl_id_bag approach added for fsl_ckout_revert(). Refactored f-rm to use that. check-in: 949885a1d3 user: stephan tags: trunk
17:05
Tightened is-sorted check when parsing Cluster artifacts. check-in: 2a35f5e331 user: stephan tags: trunk
15:15
fsl_ckout_revert() now optionally accepts a fsl_id_bag instead of a filename. Exposed fsl_filename_to_vfile_id(s)() to the public API. Added fcli_args_to_vfile_ids() and refactored f-revert to use that functionality. check-in: a527cc940a user: stephan tags: trunk
07:21
Minor doc tweaks and added two arguably missing db transaction barriers. check-in: 64780c9c47 user: stephan tags: trunk
2021-03-27
15:14
Doc updates and added another fsl_checkin_dequeue() test. check-in: 9c2f72f751 user: stephan tags: trunk
15:01
Fixed a test assert() broken by the previous checkin. check-in: 1bc0bdd204 user: stephan tags: trunk
14:54
Renamed and refactored fsl_checkin_enqueue() and fsl_checkin_dequeue() to use an options object and altert the user about exactly which files are enqueued/dequeued via a callback. check-in: 8abd63ab1c user: stephan tags: trunk
12:19
Added tools/c-struct.sh, which has proven useful for generating skeleton code for various structs used by the library. check-in: f24ab8b2d8 user: stephan tags: trunk
12:02
Minor API cleanups. check-in: 259329f627 user: stephan tags: trunk
11:06
Minor doc updates. check-in: 219baa2d88 user: stephan tags: trunk
05:21
Removed --user-override flag from f-ci because we already have that feature via fcli's --user flag. check-in: 267aec10ab user: stephan tags: trunk
05:13
Added f-ci --user-override flag. (We'll test it with this checkin.) A couple pedantic casts for the sake of variadic arg handling. check-in: aeae018f92 user: steeeeve tags: trunk
00:10
Minor doc updates. check-in: 60d0481c59 user: stephan tags: trunk
2021-03-26
20:03
Merged in manifest-cache branch. check-in: db22eb455c user: stephan tags: trunk
20:00
Added a flag to enable/disable the fsl_cx manifest cache. f-parseparty now uses that flag and now clears out the leaf table before re-crosslinking checkins (noting that crosslinking checkins without crosslinking tags may lead to different leaf list results). Closed-Leaf check-in: 1da8255567 user: stephan tags: manifest-cache
08:00
Minor cleanups. check-in: c60d9b4435 user: stephan tags: manifest-cache
07:17
Initial go at a manifest cache similar to fossil's, except that we don't use malloc'd fsl_deck instances. This shaves almost a full second off of (f-parseparty -t c -c -q) and has a hit rate of almost exactly 1 in 3 during that party, but it now accounts for more than half of sizeof(fsl_cx). check-in: 6bb1262768 user: stephan tags: manifest-cache
04:08
Added more timing info to f-parseparty. check-in: a955308062 user: stephan tags: trunk
2021-03-25
19:44
Added manifest version and timestamp to autoconfig.h. check-in: e82e436b45 user: stephan tags: trunk
03:15
Changed manifest setting from urt to on (==ur). check-in: 329c02ac27 user: stephan tags: trunk
00:40
Some s2 and sqlite3 usage modernization in the s2 bindings. check-in: 6b346e8787 user: stephan tags: trunk
2021-03-24
23:55
Fixed a copy/paste error in f-apps/index.md. check-in: 184b414392 user: stephan tags: trunk
23:52
Added missing f-update to f-apps/index.md. check-in: aa3c8f6db3 user: stephan tags: trunk
23:17
f-update now runs in non-dry-run mode by default, as there's little chance of data loss and i keep forgetting to pass the flag to disable it, leading to confusion when recently-added files aren't in the filesystem afterwards. check-in: 8582be822e user: stephan tags: trunk
23:06
Another tiny upstream s2 tweak. Fixed a broken assert in fsl_ckout_update(). check-in: 0b1a361d6c user: stephan tags: trunk
22:56
Minor doc tweaks and added auto.def check for libreadline for the sake of f-s2sh. check-in: 252a8c3327 user: stephan tags: trunk
22:55
Fixed upstream s2 bug in which resolution of define()d values would violate an internal convention for skip-mode handling. check-in: f49f227267 user: stephan tags: trunk
22:16
Brought C++/s2 bindings up to date with recent API changes. check-in: da095e1065 user: stephan tags: trunk
18:43
Pedantically changed fsl_acache::szTotal and szLimit from uint32_t to fsl_size_t to avoid an uncomfortable corner case. check-in: 9286ae3e09 user: stephan tags: trunk
18:35
Tinkering with the artifact cache. Corrected its size measurements to use buffer capacity instead of buffer used bytes, noting that fossil's counterpart measures the used bytes instead of capacity. check-in: 9bdf227d32 user: stephan tags: trunk
18:12
Added semi-configurable cache limits in fsl_acache and activated the fsl_cx::arty cache used by fsl_content_get(). That halves the time needed to run f-parseparty with crosslinking on 2003 checkins but it's still dog slow compared to fossil's rebuild (which does approximately the same thing). check-in: 7c05e9d44f user: stephan tags: trunk
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. check-in: 81cbf6794f user: stephan tags: trunk
15:04
Corrected a broken call to fsl_match_vfile_or_dir() in fsl_filename_to_vfile_ids(). check-in: 411a695e8c user: stephan tags: trunk
08:33
Doc updates, some char-to-bool API signature updates, and renamed a deeply internal API func. check-in: 6a6b5d1e43 user: stephan tags: trunk
08:02
Minor doc updates. check-in: bd0c92e3cc user: stephan tags: trunk
07:19
Added SQL UDF fsl_match_vfile_or_dir() and used it to simplify some expressions. check-in: 674cd67c12 user: stephan tags: trunk
06:23
Refactored the remove-empty-dirs APIs a bit. Revert now tries to remove empty dirs of renames. Fixed path handling in revert - was using relative paths which only worked from the top of the tree. Added missing outer transaction in f-revert which could cause a failed revert to leave vfile in a partially-reverted state. check-in: 62c2d986fb user: stephan tags: trunk
05:00
Cleaned up fsl_is_locally_modified() is-changed reporting. Added fsl_file_rename(). The revert op now renames files when reverting a rename op. fsl_vfile_to_ckout() now, like fossil, writes to vfile.pathname instead of to vfile.origname, and revert accounts for that. check-in: 4f342af54f user: stephan tags: trunk