Login
Timeline
Login

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

313 check-ins using file doc/db-udf.md version dda1f45660

2022-02-04
14:22
Initial port of Fossil's files-of-checkin (foci) vtable. First pass of porting fossil(1) src/foci.c to libfossil; it's pretty much a 1:1 port using libf's ADTs. This builds, but the implementation isn't used anywhere so that's not a surprise. There is no test yet either, so branching this for further review. check-in: 677d51061d user: mark tags: wip-foci
2022-01-30
13:50
Documented a bug/shortcoming in f-vdiff. check-in: 725861fdf6 user: stephan tags: trunk
2022-01-27
14:42
Re-did C dependencies generation to use tools/mkcdep.c instead of GCC. MUCH faster and less kludgy. check-in: 236c0f8864 user: stephan tags: trunk
13:02
Latest upstream fnc. check-in: e7795f680c user: stephan tags: trunk
10:08
Removed some dead code from wh-common.tcl. check-in: 74d87e19f4 user: stephan tags: trunk
2022-01-26
18:04
Corrected an argument type in fsl_branch_of_rid() which broke variadic arg handling in that function on platforms where fsl_int_t and fsl_id_t are different sizes. check-in: bcbfb21894 user: stephan tags: trunk
2022-01-24
07:17
Corrected f-vdiff's file-mtime checks of local-checkout files to canonicalize the filename so that it works when called from a subdir of the checkout. check-in: 4da4e6a3f4 user: stephan tags: trunk
03:44
Ported in upstream [fossil:8cd73dda3d10ff143740] diff generation tweaks. check-in: 75349fc193 user: stephan tags: trunk
2022-01-23
18:58
Removed duplicate docs for fsl__diff_optimize(). check-in: d8d1bc92a4 user: stephan tags: trunk
18:57
Now that the v1 diff code is gone, consolidated diff.c/diff2.c into diff.c and moved the dibu-specific code into the new dibu.c. That required exposing fsl__diff_optimize() via internal.h so that fnc.c can see it. (Edit: in hindsight, should have renamed diff2.c to dibu.c since most of diff2.c was dibu stuff. Oh, well.) check-in: 2cca86d9a0 user: stephan tags: trunk
13:47
Fixed a segfault introduced two checkins back in [5e12e2134b76]. check-in: a8853a173b user: stephan tags: trunk
13:43
Minor cleanup to the previous checkin. Fixed TK-format output to be syntactically correct for a no-diff run. check-in: 354f81fd5c user: stephan tags: trunk
13:19
f-vdiff can now catch and report renames when the rename is part of the local checkout's state. Code-adjacent constness tweaks. Edit: FIXME: discovered later that this fails when the diff is run from anywhere but the top checkout dir. check-in: 5e12e2134b user: stephan tags: trunk
12:03
Ported in the non-debug-output part of upstream [fossil:9aaefcfd0a8746b63bad]. check-in: d58a4b6237 user: stephan tags: trunk
11:24
Minor internal doc tweaks. check-in: 12c9022cbb user: stephan tags: trunk
08:57
Ported in upstream diff changes [fossil:fbdbc09b402b19de] and [fossil:c311efef078c8733]. Diffing still seems to work. check-in: 93f03cf9ee user: stephan tags: trunk
2022-01-22
18:08
Upstream diff fix [fossil:44b6f128453b35039bc2]. check-in: 6725e728d4 user: stephan tags: trunk
18:02
Ported in upstream incremental diff tweaks from [fossil:f6112b93e9bbb7e37f24] except that many of the const removal changes are unnecessary and weren't ported. Made fsl_dibu::opt const. Probably should have waited to see if these will be trunked in fossil before going down this rabbit hole. check-in: 01225604ab user: stephan tags: trunk
14:27
Removed the disabled, and fundamentally flawed, attempt at catching renames in f-vdiff. check-in: 4866db6ef5 user: stephan tags: trunk
14:26
Ported in upstream diff patch [fossil:2dad4158dbf0d92b]. check-in: 5492222b8e user: stephan tags: trunk
2022-01-20
17:47
Workaround for the Excessively Massive Diff bug (in f-vdiff, not the library) by reporting renames as an add/remove pair. Make the default split-mode diff content column widths wide enough for f-vdiff's current handling of how adds/removes are reported. check-in: 1960fea37a user: stephan tags: trunk
16:34
Latest upstream fnc, which moves the former v1 libf diff code into fnc. check-in: ed78994d64 user: stephan tags: trunk
15:55
Merged in rm-diff-v1. This will currently only build when using the --no-fnc configure flag, pending Mark trunking his related fnc changes, at which point that updated fnc will be pulled into this tree. Recursive relationships are tricky sometimes. check-in: 74d90fcdd8 user: stephan tags: trunk
15:53
auto.def: distinguish between the --no-fnc flag and "don't use ncurses at all" so that the ncurses-based diff view can be built when fnc is disabled. check-in: eb5e8319b3 user: stephan tags: trunk
09:38
Replace calls to the deprecated fsl_ckout_close(f) routine. Replace with fsl_close_scm_dbs(f). check-in: f876a65bef user: mark tags: trunk
08:54
Remove deprecated diff v1 code as per /chat discussion. This removes all exclusive diff v1 library routines and data types in preparation for importing this implementation into fnc as per chat with Stephan. It is on a branch pending review in case any bits were missed or incorrectly purged. Closed-Leaf check-in: dbf0fb30dd user: mark tags: rm-diff-v1
2022-01-16
07:40
speeling check-in: a9b499a8de user: bch tags: trunk
06:44
f-vdiff now actively checks whether it's being asked to diff ostensibly binary content and refuses to do so. check-in: 47413486d0 user: stephan tags: trunk
05:04
Re-added subdir-inc.make (it's used by doxygen build). Updated a path to account for new hoster. check-in: 12e08213af user: stephan tags: trunk
2022-01-12
04:46
Added another test for fsl_tkt_id_to_rids(). check-in: a8d5615853 user: stephan tags: trunk
03:36
Initialized a couple vars which gcc 11 now incorrectly reports as possibly uninitialized. Sigh. check-in: 19607914ca user: stephan tags: trunk
2022-01-08
05:45
Per /chat discussion, changed semantics of fsl_tkt_id_to_rids() to be able to handle an unambiguous ticket ID prefix. check-in: 2bdb6c668f user: stephan tags: trunk
03:56
Replaced the fundamentally flawed fsl_tkt_id_to_blob() with fsl_tkt_id_to_rids(). check-in: 7b2cbb1669 user: stephan tags: trunk
2022-01-07
23:40
Added fsl_deck_foreach(). check-in: 0741f4d194 user: stephan tags: trunk
19:06
Added fsl_tkt_id_to_blob() for Brad. check-in: 7d64642d36 user: stephan tags: trunk
10:47
difftk.tcl: increased default width of line number columns. Inexplicably, using this exact same code from fossil expands the columns dynamically but this implementation is not doing so. Disabled {} around f-vdiff TCL output except in tk mode, for compatibility with fossil's (diff -tcl) output. check-in: 37b6d8e11f user: stephan tags: trunk
06:28
typo check-in: d069d8d19f user: bch tags: trunk
06:28
reference fsl_deck_C_set() in comment-notes check-in: 70abc44543 user: bch tags: trunk
2022-01-04
22:02
Added fsl_randomness(). Changed fsl_deck_K_set() semantics such that a NULL ticket ID is interpreted as a new (random) ID. check-in: 896ea2a01b user: stephan tags: trunk
21:38
Replaced a couple remaining char-as-bool references with bool. check-in: 1ac20eeb41 user: stephan tags: trunk
17:15
Merged in inadvertent fork [fc8fb3a392]. check-in: 9259168d71 user: stephan tags: trunk
17:01
Latest upstream fnc. check-in: 1bdf40e928 user: stephan tags: trunk
17:00
Experimentally applied the "small gap patch" to eliminate the so-called "lineno behavior" in the diff engine. See the copious comments in diff2.c for details. check-in: 2872db4659 user: stephan tags: trunk
04:54
Corrected a newly-broken dependency on a newly-private API. check-in: fc8fb3a392 user: stephan tags: trunk
03:51
Corrected the no-diff display case in the ncurses diff view. Minor doc and constness tweaks. check-in: e358ca5350 user: stephan tags: trunk
03:08
ncurses diff view: add keybindings to jump to next/previous file in the diff list. check-in: aa723e9a15 user: stephan tags: trunk
00:44
Minor doc tweaks. check-in: a7861ad0da user: stephan tags: trunk
2022-01-03
22:46
More minor cleanups in the ncurses-related bits. check-in: 1332923f62 user: stephan tags: trunk
22:27
Moved ncurses screen init/shutdown out of f-vdiff and into the the ncurses diff builder's start()/finally() methods. Cleaned up the ncurses-related public API, making most of it private. check-in: 1c19687346 user: stephan tags: trunk
21:30
Renamed fsl_diff_opt to fsl_dibu_opt in fnc.c. check-in: ef858ebe4f user: stephan tags: trunk
21:16
Renamed fsl_diff_opt to fsl_dibu_opt. Moved dibu-type-specific flags out of the FSL_DIFF2_ flags and into the new FSL_DIBU_ flags. Added fsl_dibu::pimplFlags, which are implementation-private flags distinct from fsl_dibu::implFlags, the latter now being the place to apply FSL_DIBU_ flags. check-in: be968bbac7 user: stephan tags: trunk
19:42
Improved, but not perfected, f-vdiff's ability to report add/remove/rename in a dibu-friendly way (instead of via f_out(), which is incompatible with the ncurses and tcl dibus). check-in: 096b759623 user: stephan tags: trunk
19:41
Added file hashes to the file index lines in the ncurses unified-ish diff view. check-in: 6e33c8e83c user: stephan tags: trunk
19:39
Minor tinkering in as-yet-unused fsl_popen2(). check-in: 03868ff9d2 user: stephan tags: trunk
19:38
Added a "hard cached" fsl_stmt for fsl_content_blob(), shaving a few allocs and a small bit of memory from a rebuild. check-in: a7de183cd0 user: stephan tags: trunk
17:21
Ported in fossil's diff -tk script bits and implemented (f-vdiff --format tk) but the output currently goes to stdout instead of launching tclsh. The TCL dibu can optionally include the TK bits or not, depending on its flags. check-in: 82bf08414f user: stephan tags: trunk
16:39
Minor build reorgs as part of integrating (fossil diff -tk)-ish feature. check-in: 574b521a2b user: stephan tags: trunk
2022-01-02
16:10
Minor doc updates and code reformatting. check-in: 707fecabb9 user: stephan tags: trunk
15:50
Removed a stray failed experiment from the previous checkin. check-in: dd432df69f user: stephan tags: trunk
15:18
ncurses unified-ish diff view: implemented delete/insertion pair collapsing and made the colors configurable (more or less). check-in: ca112741c9 user: stephan tags: trunk
01:19
Removed long-unmaintained f-apps/test.c. check-in: 72b398779b user: stephan tags: trunk
00:32
Added FSL_OMIT_DEPRECATED #define to cause the deprecated APIs to be elided. Got core lib building that way. Removed FSL_EXPORT from functions declared in deprecated.h. check-in: b7046bf39b user: stephan tags: trunk
2022-01-01
15:07
Latest upstream fnc client. check-in: cdbcddb1a1 user: stephan tags: trunk
15:05
Reorganized (again) fsl_cx db handle management to eliminate the middle-man temp/in-memory db. check-in: a23126bc9f user: stephan tags: trunk
15:01
Fixed a bogus assert in f-open.c. Closed-Leaf check-in: dcdaea2f1b user: stephan tags: cx-db-handle-reorg-redux
14:58
More work on the db handle redux. Seems to work okay. check-in: 71f5f09817 user: stephan tags: cx-db-handle-reorg-redux
14:15
Fixed a require.s2 module broken by db handle refactoring. check-in: 44fae8d76f user: stephan tags: cx-db-handle-reorg-redux
14:12
s2 bindings: updated a test which can fail when running from a branch. Fixed a broken attempt to copy a NULL buffer trigered by that failing test. check-in: bc3c7b1737 user: stephan tags: cx-db-handle-reorg-redux
13:34
fsl_cx db handle reorg redux, step one. Significantly simplifies how dbs are closed, always treating them as an inseparable pair. Basic sanity checks pass, but more testing is needed and lots of docs to update. check-in: fa7c56d0ca user: stephan tags: cx-db-handle-reorg-redux
11:15
Renaming of some internal fsl_xyz... APIs to fsl__xyz... (two underscores). Minor constness tweaks. check-in: 736abef2cc user: stephan tags: trunk
10:53
fsl_db_open() no longer automatically applies the create-if-not-exists flag to in-memory or anonymous temp dbs, as this was at the root of a great deal of confusion the past 24 hours. Documented the propagation behaviour of the CREATE flag from an OPEN'd db to other dbs ATTACHed via that handle. See [https://sqlite.org/forum/forumpost/76963f0026b6b12a], and its top-level post, for more details. check-in: ac15c8d1d4 user: stephan tags: trunk
02:03
Minor cleanups in the fsl_db API. Updated fsl_db SQL tracing to the sqlite3_trace_v2() API. check-in: 89e932ce1a user: stephan tags: trunk
01:13
More cleanups moving towards taking another whack at the fsl_cx db handle reorg. Added a test case to f-sanity.c demonstrating the ATTACH-cannot-create error (whereas the sqlite3 shell can create new files that way). check-in: 51d4b05f5c user: stephan tags: trunk
2021-12-31
22:19
Ported over more general-purposes pieces from the cx-db-handle-reorg branch in prep for taking a fresh whack at that. check-in: 39645644a7 user: stephan tags: trunk
21:54
Cherrypicked [6f2027aeb4], [74964a09a5], and part of [d290f6375c]. check-in: 211eaecfcf user: stephan tags: trunk
21:36
Cherrypicked [74964a09a5] (doxygen tag fix). check-in: 326482e519 user: stephan tags: trunk
21:34
Cherrypicked [6e8b5b6677] (f-test-ciwoco Makefile.in reference fix). <s>(But, interestingly, it didn't show up as a cherrypick merge because i made multiple individual commits and the first one cleared the vmerge state. Hmmm.)</s> Edit: actually, the cherrypick happened, and was correctly recorded, in [f3a4ba9472]. This checkin was completely empty and should not have gone through. Hmm. check-in: 31cc119d75 user: stephan tags: trunk
21:33
Removed old/unused bindings/Makefile.in. check-in: 8632822dd0 user: stephan tags: trunk
21:33
f-merge now defaults to wet-run mode. check-in: f3a4ba9472 user: stephan tags: trunk
21:30
Extended fsl__cx_attach_role() to be able to create a new db if needed (required for fsl_repo_create()) but (regardless of this change) discovered that ATTACH, when run through the new fsl_cx::dbMain handle, can no longer create new db files, which means that f-open cannot create a checkout. COMPLETELY stumped as to why that is. Edit: closing because this branch is failing in inexplicable ways and has a horrid mix of branch-relevant and branch-irrelevant changes. Pulling in the branch-irrelevant ones separately into trunk before taking another whack at the branch-relevant ones. Closed-Leaf check-in: a67b757dc0 user: stephan tags: cx-db-handle-reorg
21:26
Corrected recently-broken Makefile.in references in f-test-ciwoco. check-in: 6e8b5b6677 user: stephan tags: cx-db-handle-reorg
15:57
Reorganized fsl_cx-internal DB handles, eliminating the in-memory/temp main db and (once again) using the first of the repo/checkout which is opened as the main db. Seems to work okay but some fallout would not be terribly surprising. (Edit: moving back to cx-db-handle-reorg because of new, inexplicable inability to create checkout db via ATTACH.) check-in: 46656edc7e user: stephan tags: cx-db-handle-reorg
15:50
Corrected names of several @file doxygen tags. check-in: 74964a09a5 user: stephan tags: cx-db-handle-reorg
15:48
Doc updates. Moved all @deprecated functions into fossil-scm/deprecated.h for later weeding-out. check-in: 6f2027aeb4 user: stephan tags: cx-db-handle-reorg
15:10
Renamed fsl_db_role_label() to fsl_db_role_name(). Doc touchups related to the db handle restructuring. check-in: d290f6375c user: stephan tags: cx-db-handle-reorg
15:08
Removed old/unused bindings/Makefile.in. check-in: 6409509264 user: stephan tags: cx-db-handle-reorg
15:00
fsl_ckout_open_dir() now treats a NULL dir name as ".". Updated C++ and s2 bindings for the new db changes. check-in: 05c1da0fb0 user: stephan tags: cx-db-handle-reorg
13:47
fsl_buffer_external() may now be passed a populated buffer, clearing it before re-initializing it. check-in: 9626c2acf6 user: stephan tags: trunk
13:34
Removed hard-coding of main db journal_mode=WAL for the time being. We might want to set it depending on which db is main (WAL for repo, TRUNCATE or DELETE for checkout?). Or we might want to leave it alone entirely. check-in: 09287e3d13 user: stephan tags: cx-db-handle-reorg
13:29
Eliminated fsl_cx::dbMem in-memory/temp db and (again) use the first of the repo/ckout dbs which is opened as the MAIN db (aliasing it to its well-defined libf schema name). This has a high potential for fallout, so it's in a branch pending more thorough testing. check-in: aebf241ab5 user: stephan tags: cx-db-handle-reorg
2021-12-30
13:52
Removed some debug output added by the previous checkin. check-in: 75eab853b5 user: stephan tags: trunk
13:49
Global config db now uses its own fsl_db handle, no longer ATTACHed with the repo/checkout handle. fsl_ckout_open_dir() now canonicalizes the passed-in directory name (simplifies usage). Added f-query -g/--config flag to query against the global config db. Various code-adjacent tweaks. check-in: 1d7a6d2b96 user: stephan tags: trunk
05:37
Replaced f-apps fcli_setup() calls with fcli_setup_v2(). check-in: 313b59841e user: stephan tags: trunk
05:06
Unified-mode diff builder: reformat runs of delete/insert pairs from a series of D/I/D/I... lines to DD.../II..., like fossil does. check-in: 8752aca1b7 user: stephan tags: trunk
2021-12-29
23:08
Added missing commas in JSON diff builder Edit record output. check-in: 257ae0b684 user: stephan tags: trunk
22:58
Add backspace and form-feed to the characters escaped in the previous commit. check-in: ae8e038bdb user: stephan tags: trunk
22:49
appendf json formatting: emit tabs as \t instead of \u0009. check-in: 50ebe24a14 user: stephan tags: trunk
03:08
f-viff --save-format now also saves/restores the --line-numbers flag, if set. check-in: fbbbdfe556 user: stephan tags: trunk
2021-12-28
20:32
ncurses unified diff: line number columns now size dynamically to fit their digits. check-in: 4883bff8f7 user: stephan tags: trunk
14:48
Partial workaroud for the adjacent-code-block cosmetic issue in the unified text diff builder, eliminating an extraneous separator line. It only applies when using line numbers (so not technically unified diff), but the problem is less glaring now. check-in: 08fdbacefa user: stephan tags: trunk
2021-12-27
22:34
Added line number support to the ncurses unified-ish diff view. check-in: 962200c936 user: stephan tags: trunk
21:07
Corrected a rare corner case error check in the previous checkin. check-in: 5cccd60c7f user: stephan tags: trunk
15:00
When performing a fsl_db rollback, clear the associated fsl_cx's manifest- and blob-content caches in order to ensure that they do not contain any RIDs which are part of the being-rolled-back transaction. Remove fsl_cx::cache::deltaIds as it was determined that the recursion involving that cache could have broken things (but, rather curiously, had not done so thus far). Might want to revisit that cache someday and account for the new effective tail of the array on each recursion. check-in: 35dca27909 user: stephan tags: trunk
2021-12-26
13:45
Constness tweaks. check-in: 006fbfb455 user: stephan tags: trunk
2021-12-25
21:20
This time tapped save before checking in. check-in: 1c6b8edc69 user: stephan tags: trunk
21:19
Removed a resolved TODO comment. Added another comment about diffing of immediately-adjacent diff blocks. check-in: 6c943dc141 user: stephan tags: trunk
16:07
Help text typo and removed unnecessary header. check-in: 43601bc8ab user: stephan tags: trunk
2021-12-24
12:47
Refactoring and layout/navigation improvements in the unified-ish ncurses diff view. check-in: e76a139a12 user: stephan tags: trunk
2021-12-23
14:00
Fixed a bit of a braindead bug in the %s appendf specifier which caused exponential strlen counting on the fsl_diff_v2() internals. This went unnoticed until Mark fed it a huge diff and the diff time went from a small fraction of a second to a minute or more. check-in: c6b3279322 user: stephan tags: trunk
07:46
Added a missing result code check in fsl_cidiff(). Added --save-format flag to f-vdiff to tell it to persist the current diff format as its future default. check-in: d80e895807 user: stephan tags: trunk
07:14
Cleaned up non-undefined macros which broke the amalgamation build. check-in: 6ecdbab284 user: stephan tags: trunk
07:01
Added fsl_cidiff() API and f-test-cidiff test app. check-in: 1c6aeaf5ce user: stephan tags: trunk
03:57
Renamed fsl_diff_builder to fsl_dibu. Sounds nicer and the older name is annoyingly long when used as a namespace/prefix. check-in: e9ec078844 user: stephan tags: trunk
03:53
Diff format typo fix. check-in: 9fb6fae4f8 user: stephan tags: trunk
2021-12-22
13:41
Integrated the ncurses unified-ish build into f-vdiff. check-in: 644d551cb4 user: stephan tags: trunk
12:46
split the ncurses diff builder into its own source and header for eventual integration into f-vdiff and f-adiff. check-in: 84239c8219 user: stephan tags: trunk
10:14
Added optional fsl_diff_builder::finally() method and apply it in the ncurses diff builder to add an end-of-diffs marker at the bottom of the final file. check-in: 5ec5077ca0 user: stephan tags: trunk
09:32
Corrected max pad width calculation caused by swapped args. check-in: 2c2ab0cdb3 user: stephan tags: trunk
09:19
More tinkering with the ncurses diff builder. check-in: e67957a38f user: stephan tags: trunk
08:18
Squelched unused var warning. check-in: da7d9c722e user: stephan tags: trunk
08:15
Minor cleanups in the ncurses diff builder. Fixed an off-by-one width calculation. check-in: 4c34723bb7 user: stephan tags: trunk
07:50
ncurses diff builder ported to unified diff format and added horizontal scrolling. check-in: 6aad850343 user: stephan tags: trunk
05:59
ncurses diff: fixed displaced attributes on the top status line. check-in: 8e94a46455 user: stephan tags: trunk
05:53
ncurses diff builder: got basic vertical scrolling working. check-in: 95dbf8ebf9 user: stephan tags: trunk
04:51
Fixed some non-curses output when in curses mode. Added a please wait message at startup because it's awful slow on a pi zero. check-in: b4ff15d5bc user: stephan tags: trunk
04:30
Initial prototype/proof-of-concept for a diff builder which renders to an ncurses PAD. A stepping stone towards adding scrollable diffs to fnc. check-in: 7ee366de74 user: stephan tags: trunk
2021-12-21
22:10
fsl_ckout_manage() now silently skips any directories which appear to be nested checkouts. Extended fsl_dircrawl_f() callback semantics to support skipping recursion into a dir but continuing to dir-crawl. check-in: 3f48c073cf user: stephan tags: trunk
20:38
Corrected f-apps broken by previous checkin. check-in: 5427afd00d user: stephan tags: trunk
20:21
Removed the fossil- name prefix from include/fossil-scm/*.h. check-in: 43a9bea8d5 user: stephan tags: trunk
19:48
Build tweaks for the include/... bits. check-in: de1b5498cb user: stephan tags: trunk
19:43
Minor doc touchups. check-in: 344f51c014 user: stephan tags: trunk
15:18
Resolved a couple of semantics collisions between fsl_diff_flag_e and fsl_diff2_flag_e entries. check-in: 956162a6b1 user: stephan tags: trunk
14:54
Added fsl_ckout_dbnames() and fsl_is_top_of_ckout(), prompted by recent fossil forum traffic. check-in: 7a9a409695 user: stephan tags: trunk
14:17
The deps fix which [7fa0dff2747229ff] was supposed to be but, it turns out, wasn't. check-in: 7f9b8b4993 user: stephan tags: trunk
13:10
Expanded the fsl_ckout_manage() callback interface analog to the new fsl_ckout_unmanage() changes. check-in: c00159a925 user: stephan tags: trunk
12:44
f-rm now tries to non-fatally report, in verbose mode, if unlinking of a file fails. check-in: 88ebea4673 user: stephan tags: trunk
12:34
Expanded fsl_ckout_unmanage()'s callback interface to facilitate client-side unlinking of newly-unmanaged files. Added f-rm --unlink option. check-in: 9be228a605 user: stephan tags: trunk
12:32
Seem to have resolved a weird deps generation problem which causes build to fail. check-in: 7fa0dff274 user: stephan tags: trunk
12:16
Added missing f-apps/GNUmakefile. check-in: 054cb0a7bf user: stephan tags: trunk
08:28
Moved fossil-scm/fossil.h to ../libfossil.h so that client code can build from both the canonical tree and amalgamation using the same include name. check-in: 76d6359435 user: stephan tags: trunk
07:23
Removed 'undefine' calls from GNUmakefile because undefine doesn't work with gmake 3.81. check-in: 22315ea459 user: stephan tags: trunk
07:20
Removed now-broken reference to Makefile in auto.def. check-in: 1d29764382 user: stephan tags: trunk
06:58
Overhauled the build system to use (for the most part) a single top-level makefile, with each significant subdir in its own sub-makefile. This improves parallel buildability tremendously but doesn't gain much speed on a 4-core intel i3-based system. The doc/ and bindings/s2 dirs still use the older makefiles for the time being. check-in: 5c7c8ba69e user: stephan tags: trunk
06:54
Minor cleanups in the top-level makefile in prep for merge to trunk. Closed-Leaf check-in: 345150d88e user: stephan tags: toplevel-make
06:23
Renamed doc/Makefile to doc/GNUmakefile. check-in: 8abd9a209c user: stephan tags: toplevel-make
06:05
More cleanups in the top-level makefile and shakenmake. check-in: 4c4af00081 user: stephan tags: toplevel-make
05:45
Renamed the various stub Makefiles to GNUmakefile for consistency with the top-level makefile. check-in: d489b0a596 user: stephan tags: toplevel-make
05:32
More improvements in support of building/cleaning only the being-worked-on subdir. check-in: ac82ba5810 user: stephan tags: toplevel-make
04:26
Found a not-too-terrible way of enabling partial builds, provided they're run from the appropriate subdir. Fixed assertions in f-sanity caused by __FILE__ now resolving differently and the Makefiles being reorged. check-in: 2a32d4ba97 user: stephan tags: toplevel-make
00:33
Updated an out-of-date doc link. check-in: 25def58ee0 user: stephan tags: trunk
2021-12-20
23:21
Merged in 32-bit and install fixes from toplevel-make branch. check-in: 7decbe6cf4 user: stephan tags: trunk
23:17
Fixed install set decls to append to their list of files instead of overwrite. check-in: 3a8e26a80b user: stephan tags: toplevel-make
23:16
Fixed shakenmake handling of installation source names when they contain dir prefix parts. check-in: 6a4dd32662 user: stephan tags: toplevel-make
23:16
Fixed an int type error which only shows up on 32-bit builds. check-in: adb7e4dae8 user: stephan tags: toplevel-make
22:45
Ported in upstream diff fixes from [fossil:5bb01585bc8677ab15ef]. check-in: 0bee68c7c7 user: stephan tags: trunk
22:35
Added missing make-binding-cpp.make.in. check-in: 4a23bb3fe5 user: stephan tags: toplevel-make
22:33
Added a basic mechanism for limiting build to one make-XXX.make file. check-in: d124739301 user: stephan tags: toplevel-make
22:24
More work on the mega-build. Skipping the s2 bindings for the time being because that one is significantly more involved and may well be better served by a recursive make because of how its test suite works. check-in: d0cd398612 user: stephan tags: toplevel-make
22:07
Cherrypick [3987b62a030d] using f-merge. check-in: c2a2e453da user: stephan tags: trunk
22:06
Touchups to f-ci's handling of sym- tags to bring it mostly in line with fossil's checkin-level sym tag handling. check-in: 3987b62a03 user: stephan tags: toplevel-make
21:20
Migrated bindings/cpp to the mega-make build. check-in: 3277761427 user: stephan tags: toplevel-make
14:32
Migrated fnc to the top-level build process, which required going down a gcc deps-generation rabbit hole. check-in: ba9f18c3de user: stephan tags: toplevel-make
11:34
More work on the mega-make. Added a way for each sub-makefile to define its own set of cleanup files. check-in: 0839826b95 user: stephan tags: toplevel-make
11:07
Ported f-apps build into toplevel makefile. check-in: bfdddcd306 user: stephan tags: toplevel-make
10:05
Ooops: renamed GNUmakefile GNUmakefile.in. check-in: 229b2aa8e2 user: stephan tags: toplevel-make
09:41
Initial work on experimentally moving the subdir makes into a single top-level mega-makefile. check-in: 1542e54763 user: stephan tags: toplevel-make
09:24
Build file typo. check-in: e33e6441c8 user: stephan tags: trunk
2021-12-17
18:35
Minor constness tweaks. Added a note about how fsl_repo_rebuild() handles corruption such as that reported at [https://fossil-scm.org/forum/forumpost/f4cc31863179f843]. Removed a completed TODO comment. check-in: 9886240dfc user: stephan tags: trunk
2021-12-16
16:05
Added a missing error check to f-ciwoco and removed a completed TODO reminder. check-in: 00170db3c2 user: stephan tags: trunk
2021-12-15
14:24
Minor doc and formatting tweaks. check-in: 8d1f232a1c user: stephan tags: trunk
14:22
Added missing fsl_looks_like_binary() impl and fixed a doc bug for that function. check-in: d76673a1a1 user: stephan tags: trunk
13:49
Bump _XOPEN_SOURCE from 500 to 700 for macOS builds. unistd.h functions readlink() and symlink() require _POSIX_C_SOURCE >= 200112L, which _XOPEN_SOURCE 700 provides. No noticeable impact on OpenBSD or Linux. check-in: 7c8cbd723a user: mark tags: trunk
12:47
Moved fsl_ckout_merge() code from f-test-merge.c to src/merge.c. Renamed f-test-merge.c to f-merge.c. Various touchups in f-merge. check-in: 661999bcc7 user: stephan tags: trunk
06:38
Internal tinkering with the debug diff builder for the sake of investigating what we'd need to do a rendered-to-ncurses diff builder. check-in: 0a5c3514c8 user: stephan tags: trunk
04:57
Moved a couple fsl_diff_builder internal APIs into the public interface in prep for potential use with an ncurses-based builder for use with fnc. check-in: c11e50d137 user: stephan tags: trunk
04:21
More work on merge and adjacent code. Changed how fsl__ckout_clear_merge_state() works to attempt to enable partial reset when individual to-be-merged files are reverted. Whether the corresponding SQL is 100% semantically correct for the vmerge state remains to be seen, but so far, so good. See [https://fossil-scm.org/forum/forumpost/f678085f79] for the discussion about those bits. check-in: 4d88f6cbd6 user: stephan tags: trunk
00:42
More work on the merge API. Time for work. check-in: 8fa60bfe38 user: stephan tags: trunk
2021-12-14
23:08
First-ever fsl_ckout_merge() test worked, but there's still lots of testing and client status callback support to add to fsl_ckout_merge(). Added vmerge state to f-status/fcli_chkout_show_info() output. check-in: 9e719cffc5 user: stephan tags: trunk
22:43
Latest upstream fnc to account for signature change of fsl_cx_is_case_sensitive(). check-in: fc61a0e2bd user: stephan tags: trunk
15:52
More work on the merge port and adjacent code. check-in: b9c2a05cfe user: stephan tags: trunk
11:19
Added fsl_file_copy(), fsl_symlink_read(), and fsl_file_isexec() as part of the merge op effort. Expanded fsl_file_tempname() to be able to accept a NULL list of directories in order to return just the name without a directory prefix. check-in: 6dca54dfde user: stephan tags: trunk
09:16
Minor allocation optimization and tweak to how the filename prefix is applied in fsl_file_tempname(). check-in: b89b9e0058 user: stephan tags: trunk
08:55
Ported in a variant of the temp-filename generation bits from fossil because it's needed for the next merge steps. check-in: dd3acff665 user: stephan tags: trunk
05:23
More work on the merge API port. Still lots to do. check-in: 7d626b574d user: stephan tags: trunk
04:17
Tweaks to the return semantics of fsl_db_exec() and fsl_stmt_step(). Doesn't/shouldn't affect any existing code. Added a test to ensure that fsl_stmt_step() behaves as expected in the face of a RETURNING clause. check-in: ad7ef26207 user: stephan tags: trunk
2021-12-13
06:15
Minor code modernization in the still-far-from-complete merge code. check-in: d77e495227 user: stephan tags: trunk
03:52
Merge in port-merge branch for further merge development - keeping this in a separate branch is unnecessary and is getting annoying. There's still plenty of work to do on the merge port. check-in: 63fe74d7f3 user: stephan tags: trunk
2021-12-11
07:34
Minor internal cleanups in f-repostat.c check-in: 5a99011c5b user: stephan tags: trunk
2021-12-10
12:11
As a special case, fsl_file_simplify_name() now always resolves to '/' if its input resolves to that, regardless of whether or not it is told to retain a trailing slash. The alternative would be to resolve to an empty string if it were told to strip the trailing slash for that case. check-in: 3ad71dbc66 user: stephan tags: trunk
11:35
Fixed bug which caused fsl_file_simplify_name() to not honor its trailing backslash policy. check-in: 14fffb4e82 user: stephan tags: trunk
07:01
Typo fix. check-in: 2b2b8c3ac9 user: stephan tags: trunk
06:49
Wrapped f-repostat work in a transaction to avoid a minuscule corner case where another app changes the stats as they're being read. Made use of the percent-z fsl_appendf() specifier to remove a few explicit fsl_free() calls. check-in: 48d30b38a6 user: stephan tags: trunk
04:32
Added missing status and quick-check to f-repostat. Missing only full integrity check (requires porting (fossil test-integrity)). check-in: a6ba4b4444 user: stephan tags: trunk
04:08
Initial version of f-repostat, analog to (fossil dbstat). Some adjecent constness cleanups. check-in: 4926ae9b31 user: stephan tags: trunk
2021-12-08
08:17
Minor doc updates. Changed the main db journal mode to TRUNCATE because OFF apparently leads to undefined behaviour when ROLLBACK is used (something we do often, e.g. to implement dry-run mode). check-in: a1b9594aec user: stephan tags: trunk
07:04
Cherrypicked inadvertent checkin to the wrong branch via /fileedit. check-in: 6dddf8537b user: stephan tags: trunk
07:02
Minor doc touchups Closed-Leaf check-in: e9c9fccc7f user: stephan tags: port-merge
06:55
Merged in trunk. Kinda funny that f-ci can check in a merge but we don't yet have f-merge to actually create a merge. check-in: 49e14934d8 user: stephan tags: port-merge
2021-12-06
03:42
Ported in line numbers in merge conflict markers from [fossil:14f44e933c0c0c2c | fossil checkin 14f44e933c0c0c2c]. check-in: 3e58eea1f3 user: stephan tags: trunk
02:33
Minor help text and API doc cleanups. One minor allocation optimization in fsl_repo_rebuild(). check-in: 17a7f5cf12 user: stephan tags: trunk
2021-12-04
07:39
Internal restructuring of crosslink callback handling, such that registered listeners are called at a later phase for ticket artifacts. This should allow client-side listeners to overwrite timeline entries for tickets without too much hassle (that wasn't possible at all before this change). check-in: 8349911eb6 user: stephan tags: trunk
06:36
(Finally) implemented ticket crosslinking. check-in: d8e8c16cc4 user: stephan tags: trunk
2021-12-03
09:33
s2 binding: extended Fossil.Db.each() to take a target array as a form of callback, appending each row to the target. check-in: 1c591b1ffc user: stephan tags: trunk
09:03
More tinkering with the s2 binding, getting older scripts working again. check-in: 5ea356ab81 user: stephan tags: trunk
08:36
Minor internal cleanups and costness tweaks. check-in: 8541d31570 user: stephan tags: trunk
07:39
Tinkering with the s2 binding to get tests working after removal of the various db handles. check-in: 93a66791fe user: stephan tags: trunk
06:52
SQL UDFs fsl_content() and fsl_sym2rid() now match any blob type, not just checkins. That they did not already do so was a bug. check-in: 624a9a175a user: stephan tags: trunk
06:23
Moved most of the fsl_cx-specific code out of fsl_db and into the new src/udf.c. check-in: 84a59c6833 user: stephan tags: trunk
05:15
Drastically simplify the s2 fsl_cx db mappings, exposing only the main db handle instead of separate repo/checkout/config handles. It was severely over-engineered and this approach will allow us to more easily eliminate the middle-man main db handle in the lib if we end up choosing to do so. check-in: 8ac418df2e user: stephan tags: trunk
04:49
Removed a large swath of assigned-but-unused code in the v1 HTML sbs diff generator, as detected by clang 13. Reported by Mark via /chat. check-in: 5a433bf878 user: stephan tags: trunk
04:03
Removed an unused var from fsl_delta_create2(), reported by clang 13 via Mark. Worked around what appears to be a clang 13 bug in (mis)detecting another var as unused. check-in: 351cd03fa3 user: stephan tags: trunk
03:52
Experimentally change the journal_mode to OFF for the main (temp) DB, noting that we don't actually store anything in that db handle - it's only used as an ATTACH point for the other dbs. Added a note about being able to rename the MAIN db, which might be useful in eliminating the current middle-man MAIN db (barring one corner case for the global config db). check-in: 76d7f8f4eb user: stephan tags: trunk
2021-11-30
22:40
Changed several internal temp tables to use (create if not exists/delete) instead of (create/drop) in the hope of proactively avoiding locking issues. This will slightly increase long-term memory usage for certain long-running apps but should ease locking pains for those same apps. check-in: cbaafebf22 user: stephan tags: trunk
18:13
Internal fsl_db cleanups related to [17cc186e16351f5]. No public API changes. check-in: ddc1efaeb8 user: stephan tags: trunk
17:24
Added fsl_db-level internal infrastructure to be able to catch the a potential OOM worked around in [11a6a98c81d1] and report it properly. Updated that fix to use the new infrastructure and distinguish between real and fake OOM. check-in: 17cc186e16 user: stephan tags: trunk
16:35
Fix bug in annotate logic when file has insufficient history. When the file being annotated has less than the minimum three versions, one of the passes returns a null from the SQL query, which gets falsely reported as an OOM due to an empty strdup(). Check for this case before passing to strdup() and return. check-in: 11a6a98c81 user: mark tags: trunk
15:43
Added fsl__cx_clear_cached_stmt() to forcibly clear ALL cached fsl_stmt handles held by a fsl_cx and use that from fsl_repo_rebuild() to ensure that the cache is cleared before beginning work. This is a hypothetical/proactive fix for a problem which has not yet been seen in the wild but seems very likely, given recent locking issues reported by Mark. Branching this for now because i cannot reproduce similar locking problems which fsl_repo_rebuild() should hypothetically trigger without this addition. Leaf check-in: f9d39435cf user: stephan tags: clear-cached-stmt
2021-11-29
15:06
Don't drop and create fsl_compute_ancestors if it already exists. To workaround some locking issues in fnc, don't always drop and recreate the temp fsl_compute_ancestors table; instead, check for existence and only create when needed. Also, as per /chat discussion with stephan@, if the table exists, DELETE FROM to ensure we don't mix state between versions. check-in: 009bc1ff55 user: mark tags: trunk
06:52
Fix comparison typo that clobbered requested version. The fsl_card_F_ckout_mtime() doc suggests that the current checkout will only be used if the rid of the passed in version is 0; however, the typo forced all rids greater than or equal to 0 to be overridden with the checkout version. check-in: 0031d2f466 user: mark tags: trunk
2021-11-23
20:10
f-ciwoco: do not require any F-cards if the deck is explicitly a new root DAG entry. check-in: 35c58dd98d user: stephan tags: trunk
17:11
Latest upstream fnc. check-in: cc967df182 user: stephan tags: trunk
17:10
Merged in trunk. One of these days i'll get around to finishing this major TODO. One of these days. check-in: fef2c50c9d user: stephan tags: port-merge
16:22
Added --no-ignore-glob/-i flag to f-ciwoco and check input names against ignore-glob if that flag is not provided. check-in: c4783e49fc user: stephan tags: trunk
03:27
Improved fsl_reserved_fn_check()'s handling of the manifest setting. Added fsl_reserved_fn_check() to f-ciwoco. Made wet-run the default in f-ciwoco. Replaced some magic values with their corresponding enum entry references. Removed a long-since-implemented TODO note. check-in: 09094cea7b user: stephan tags: trunk
2021-11-22
21:01
Re-added some f-apps bins builds which were inadvertently removed by refactoring yesterday. check-in: 95b7a9b1ac user: stephan tags: trunk
18:36
Rename -r/--revision flag to -v/--version in f-annotate, f-ciwoco, and f-extract, for consistency. check-in: c2f30ec71a user: stephan tags: trunk
11:37
Deduplicated some fcli code. Added a TODO. Fixed f-extract.c header comment. check-in: 3e76615a5e user: stephan tags: trunk
11:25
Removed some implemented TODOs, minor tweaks to internal fcli flag handling and help text. check-in: 61f51619a3 user: stephan tags: trunk
05:31
Added f-extract tool, per suggestion in [https://fossil-scm.org/forum/forumpost/fcca51d3eb2757f7|fossil forum post fcca51d3eb2757f7]. check-in: f7fdf3db10 user: stephan tags: trunk
03:30
Added --strip-prefix flag to f-ciwoco. check-in: 2b9e57ba87 user: stephan tags: trunk
2021-11-21
17:08
ciwoco: do a proactive empty-filename check to avoid an assert in downstream code. check-in: 891e3e9392 user: stephan tags: trunk
16:56
Fixed removal of ./ prefix on filenames. check-in: 31cbe6348b user: stephan tags: trunk
16:21
Moved fsl_branch_of_rid() into the public API. Added several new options to f-ciwoco. check-in: 2b33b91772 user: stephan tags: trunk
14:37
Added missing entries to f-apps/index.md. Added a f-ciwoco TODO. check-in: 03ba20cfd1 user: stephan tags: trunk
14:23
Added initial versino of the f-ciwoco app. Several minor API tweaks, including changing semantics of NULL args to fsl_deck_save() and the return semantics of fcli_fax(). check-in: 618d1b864a user: stephan tags: trunk
10:02
Constness tweaks. Added a fsl_is_simple_pathname() check to fsl_deck_F_set_content(). check-in: e45da773a8 user: stephan tags: trunk
09:53
Slightly faster fsl_strlen() impl. check-in: c955e93fe5 user: stephan tags: trunk
04:26
Remove dated comment from the annotate API options doc. stephan@ implemented the timer-based limit option to the annotate operation in [35b8297bc34b]. check-in: 70ee710a3d user: mark tags: trunk
2021-11-20
20:42
Microscopic internal tweaks. check-in: eb3baaaa2f user: stephan tags: trunk
18:43
Fixed a one-too-many statement-steps bug which somehow passed on my NUC machine but failed on my pi4. check-in: 3e2c083d80 user: stephan tags: trunk
17:43
Reworked how the caching is handled for several of the very-frequently-prepared SQL statements, cutting the fsl_repo_rebuild() time by more than half (within 100ms of fossil's own speed, with the minor caveat that we don't yet rebuild tickets). A non-debug build of f-rebuild can now rebuild this repo in 900-odd milliseconds, and a debug build in roughly twice that. A non-debug build can rebuild fossil's own repo in 44s, down from 111s (but still almost twice what fossil itself needs). Edit: LOL, it turns out that the tremendous speed was due to a bug fixed in [3e2c083d8014a0fa]. Now it's back to approximately the speed it was before this checkin. Oh, well. check-in: 9f3a868d35 user: stephan tags: trunk
16:24
When fsl_deck_parse() loads a wiki page, it now takes over the content buffer. check-in: 183eafa6fe user: stephan tags: trunk
16:17
Corrected wiki-listing queries to skip over tags named wiki-... which are not actually wiki pages. Constness cleanups. check-in: 23c2d4d185 user: stephan tags: trunk
15:02
Cut number of rebuild allocations by another 15k via refactoring of fsl_buffer_uncompress() to be smarter about reusing the output buffer's memory, plus much more modest gains via addition of a cached buffer for building and applying deltas. check-in: 88757e5411 user: stephan tags: trunk
13:27
Doc additions. Testing out minor optimizations in fsl_buffer_uncompress(). check-in: 643a270839 user: stephan tags: trunk
12:09
Shaved another 11.5k allocations off of rebuild (of the libfossil repo) by caching the chain of blob delta children IDs and applying the external buffer approach to fsl_content_blob()'s pre-uncompress result. check-in: e9d92f12a6 user: stephan tags: trunk
10:16
Added semantics for safely directing fsl_buffer instances to use "external" memory (owned elsewhere, possibly const), using copy-on-write if any API would modify such buffers. This mimics a feature of fossil(1)'s Blob class but implements it differently. Applied this feature to low-hanging fruit in fsl_repo_rebuild(), reducing the number of allocations for rebuilding the libfossil repo by 10048 (not coincidentally exactly the same as the number of deltas in the repo). check-in: d6ace632d7 user: stephan tags: trunk
04:19
Added all: target to doc/Makefile to avoid bogus warning about ../compile_commands being up to date. check-in: e184a894bf user: stephan tags: trunk
2021-11-19
11:15
Tightented the lexical sorting check of T-tags in fsl_deck_parse2(). check-in: 710313321a user: stephan tags: trunk
09:40
Added some of the missing bits for crosslinking tickets. Still more to do, though. check-in: 94e7cd6207 user: stephan tags: trunk
08:10
Diverse generic internal and doc cleanups. check-in: 06f92b7689 user: stephan tags: trunk
05:58
Pedantic sorting of f-xxx Makefile entries. check-in: 309428781c user: stephan tags: trunk
05:50
Moved fsl_repo_rebuild() into the public API and added some new state to fsl_rebuild_step and new metrics to f-rebuild. Rebuild adds a few more entries in the event table than fossil does (investigation is TODO) but otherwise seems to behave. check-in: c389ae9908 user: stephan tags: trunk
01:14
Removed the cosmetic ^C output from fcli's sigaction handler so as to not mess up fnc's screen state. check-in: f5a53adcb9 user: stephan tags: trunk
2021-11-18
18:03
Tighten up the interruption flag handling and fcli's inclusion (or not) of sigaction(). check-in: 2c0147b596 user: stephan tags: trunk
17:40
Proof-of-concept handling of SIGINT via fsl_cx_interrupt() by way of fcli. Currently only honored by fsl_repo_rebuild() but "should" eventually be honored by any unusually-long-running operations. check-in: 2a405470c0 user: stephan tags: trunk
16:31
A workaround for an as-yet-unexplained case of an attempt to rebuild the same artifict twice. Shows up on my pi4 but not my x86 system. check-in: 242c38c7b2 user: stephan tags: trunk
16:10
Diverse minor internal cleanups. check-in: c46efd6b8d user: stephan tags: trunk
15:04
f-rebuild seems to work but needs more testing before moving it into the library. check-in: 45126ee491 user: stephan tags: trunk
15:04
Seem to have resolved a 'conditional jump depends on uninitialized values' valgrind error in the stripping of the PGP envelope from artifacts. check-in: 2552547fd7 user: stephan tags: trunk
14:08
Doc tweaks. check-in: c332af042a user: stephan tags: trunk
14:08
When resolving symbolic names root:XYZ and we cannot find a branch name, use 'trunk' as the default instead of reporting a misleading OOM. check-in: e36985cf3f user: stephan tags: trunk
13:56
Swapped order of fsl_buffer_copy() args to be more conventional (target first). check-in: dee39f687e user: stephan tags: trunk
13:47
Added an is-interrupted flag for fsl_cx as a way to interrupt long-running operations but it is not yet being applied anywhere. check-in: 74aab40d54 user: stephan tags: trunk
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. check-in: 2b136fe2e7 user: stephan tags: trunk
09:04
Internal API renaming: fsl__acache ==> fsl__bccache. check-in: 7aaf02031e user: stephan tags: trunk
08:44
Added some internal hit/miss metrics to the fsl_content_get() cache. check-in: 754e28ea1e user: stephan tags: trunk
07:58
More work on fsl_repo_rebuild(). It seems to work, with the caveat that ticket crosslinking is mostly unimplemented (and will remain so for the foreseeable future), but it's dog, dog slow (about 1/10th of fossil's speed). Needs more testing before moving from f-rebuild.c into the library. check-in: ae8d020e4f user: stephan tags: trunk
04:03
Latest upstream fnc. check-in: 3761d0a9c8 user: stephan tags: trunk
04:01
wh-common.tcl addition from cwal tree. check-in: cb8b907d31 user: stephan tags: trunk
2021-11-16
05:40
Cosmetic test header tweak. check-in: 8a6835b3d9 user: stephan tags: trunk
05:40
-rdynamic flag patch from cwal tree. check-in: 27ed9ad786 user: stephan tags: trunk
05:39
Another appendf() string length fix for NULL %Q. check-in: cf2b9bb0f2 user: stephan tags: trunk
04:54
fsl_appendf() precision length fix for SQL formatting. check-in: 025041fc9d user: stephan tags: trunk
03:36
Merged in trunk. check-in: 604fe76cfe user: stephan tags: port-merge
2021-11-13
04:13
Fixed HTML decoding (%T appendf specifier) range problem reported at [https://fossil-scm.org/forum/forumpost/cb564acd01] and fix adjacent string-length bugs. check-in: 70f66a328d user: stephan tags: trunk
2021-11-11
09:49
Fixed two semi-incorrect compiler warnings about potentially (but not) uninitialized vars. check-in: 000005d8be user: stephan tags: trunk
2021-11-10
06:00
Added fsl_configs_XYZ() APIs, which provided features similar to fsl_config_XYZ() but enable checking multiple config sources in an order specified by the caller. check-in: 8d7b8f50c4 user: stephan tags: trunk
04:21
Constness tweaks. check-in: 230fa9f678 user: stephan tags: trunk
03:53
When detaching a db from a fsl_cx, only clear the it-is-attached state if detaching succeeds. check-in: 66923b26f0 user: stephan tags: trunk
2021-11-09
14:27
Tracked down and documented the locking error Mark was experiencing: we cannot detach while any stepped-but-not-reset-or-finalized statements are active. check-in: 3bff6eddc1 user: stephan tags: trunk
13:29
Linked list iteration fixes for the previous commit. check-in: c9b2992de4 user: stephan tags: trunk
12:44
Removed incorrect if() blocks which caused repo/ckout/config db strings to not get cleared in some cases. check-in: 09a6b48de5 user: stephan tags: trunk
11:48
When detaching a db role, finalize any cached statements which are known (or believed) to be mapped to that role to avoid that detaching fails due to a lock held by opened statements. check-in: d00587179e user: stephan tags: trunk
2021-11-08
10:20
fsl_config_open() is now a no-op if passed a NULL/empty file name and a global config is already opened. Reordered some internals calls to hit expected if/else cases earlier. check-in: 4e81e07c57 user: stephan tags: trunk
2021-11-03
03:15
Removed some dangling debug output from f-revert. check-in: a8c009d569 user: stephan tags: trunk
02:51
f-revert can now report an error when it is passed an unmanaged file name. It now requires, however, passing in the new name, instead of the original name, when reverting a rename. Removed f-revert's dependency on fossil-internal.h. check-in: 7dd883be5e user: stephan tags: trunk
02:28
Oops. check-in: d4074d8d33 user: stephan tags: trunk
00:07
Another constness tweak, a doc fix, and added a TODO to f-revert. check-in: af29e33252 user: stephan tags: trunk
2021-11-02
23:52
Mass renaming of many internal APIs from fsl_X to fsl__X (two underscores) and several adjacent const cleanups. check-in: 83917b7b45 user: stephan tags: trunk
23:47
Corrected a repeated build rule in bindings/cpp. check-in: 3ea6f73e5d user: stephan tags: trunk
14:09
Further tweaking of buffer memory ownership for fsl_deck_parse(). Minor adjacent tweaking. check-in: 7948748ba0 user: stephan tags: trunk
04:11
Corrected decls for fsl_strlXXX() (only did the impls last time but the compiler didn't catch it because the data types were the same). check-in: 95019d819c user: stephan tags: trunk
00:21
More work on rebuild and adjacent code. Removed 'restrict' keyword from fsl_strlcpy() and fsl_strlcat() because they break in C++ compilation mode. Renamed fsl_guess_user_name() to fsl_user_name_guess() (consistency) and added fsl_cx_user_guess(). check-in: 3bcb631b4f user: stephan tags: trunk
2021-11-01
21:44
Updated fsl_cx_uplift_db_error2() docs to match its semantics. Removed some superfluous is-NULL-arg checks. check-in: b4d072b53b user: stephan tags: trunk
21:25
More work on f-rebuild and related crosslinking bits. check-in: 8c51e45f8f user: stephan tags: trunk
21:22
Fixed %B fsl_appendf() quoting, which was apparently broken in recent refactoring. check-in: 254d05efc3 user: stephan tags: trunk
16:36
Replaced strcpy() calls with fsl_strlcpy(). Re-indented strftime.c and replaced an unnecessary leaky malloc() in fsl_strftime() with an equivalent static buffer (noting that that block is normally #if'd out altogether). check-in: fa7e72b856 user: stephan tags: trunk
15:58
Add fsl_strlcpy() and fsl_strlcat() BSD-variants to the lib. Less error prone routines to begin replacing strcpy() and strcat() calls. check-in: f390a48d56 user: mark tags: trunk
15:16
Add ifdefs for C99 decls (snprintf) guarded on macOS. Patch authored by stephan@, tested by mark@ on macOS Catalina 10.15.7. check-in: 5c54c1e93c user: mark tags: trunk
14:15
Replaced sprintf() with snprintf() and might (unsure) have squelched a warning regarding uninitialized array elements. check-in: 1dbcee9144 user: stephan tags: trunk
2021-10-31
03:26
Swapped the internal relationship of fcli_setup() and fcli_setup_v2() and changed the latter's semantics a tiny bit. check-in: d0c8ef79fe user: stephan tags: trunk
2021-10-29
10:36
Add optional usage callback to fcli_command structure. If set, calls to fcli_command_help() with a true argument for the showUsage parameter, will call the fcli_command->usage() callback. This enables clients to display usage and/or additional help output on an individual command basis. Update apps in the repository impacted by this API change. check-in: d60fcce917 user: mark tags: trunk
10:15
Latest upstream fnc with several major changes. This fnc update includes: a significant change to the diff interface, which offers improved arg parsing and the ability to diff file blobs; and the new 'fnc branch' command, which provides a view for navigating repository branches. check-in: b1c9f30e3f user: mark tags: trunk
2021-10-26
11:25
More work on f-rebuild. Added fcli_setup_v2(). check-in: 14cebaaa7e user: stephan tags: trunk
10:41
Reworked the previous checkin. check-in: 20ea128fa9 user: stephan tags: trunk
10:30
Filtered (again?) libfossil.c/h out of the tags generation step. check-in: 4c0a8e3461 user: stephan tags: trunk
2021-10-22
06:01
Tidy fcli_command->aliases code and improve related docs. Remove superfluous format specifier arg and move all aliases output into fcli_help_show_aliases(). check-in: 89925fee94 user: mark tags: trunk
03:14
API doc update, fixed a potential range problem in the appendf SQL string formatting options. check-in: 543bea7b3e user: stephan tags: trunk
02:48
Refactored appendf %q/%Q/%B to use a static buffer instead of dynamic allocation. This saves counting the output length in advance and allocation of that output buffer but requires one call to the callback per 512-ish bytes of the string. check-in: 5739c3cbd3 user: stephan tags: trunk
2021-10-21
20:42
Added %!Q form of %Q appendf modifier to take the place of the undocumented/unused %w: wraps result in double quotes instead of single, for use with identifiers. check-in: d92aae901d user: stephan tags: trunk
20:22
Started work on f-rebuild. Still lots to do. check-in: 54b9b8fd8b user: stephan tags: trunk
17:42
A pile of constness and char-as-bool tweaks in the db API. check-in: d571c6f692 user: stephan tags: trunk