Login
Timeline
Login

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

402 check-ins using file f-apps/f-_scratchpad.c version 5aca086f27

2021-12-21
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
16:28
Added a timer-based limit option to the annotate operation, much like fossil's, allowing the user to limit it to X milliseconds (CPU time) of work. Added f-annotate --ms flag to make use of this. check-in: 35b8297bc3 user: stephan tags: trunk
14:54
Integrate [d9d00a5c97|cli-aliases] into trunk. ok stephan@ check-in: 378813076a user: mark tags: trunk
14:32
Add optional command line aliases to fcli_command. As per /chat discussion, use a NUL-delimited char pointer to add optional aliases to a command. This commit also adapts fcli_command_help() output to display any aliases, and adapts fnc and existing f-apps that use fcli_command to demonstrate the change. Closed-Leaf check-in: d9d00a5c97 user: mark tags: cli-aliases
10:05
build: try to force libfossil.c/h/o rebuild more frequently, for the sake of the --profile build. check-in: 0148b8e469 user: stephan tags: trunk
10:04
Insignificant internal tweaks. check-in: 65ae37ae14 user: stephan tags: trunk
08:26
Fixed a fsl_stmt misuse in the repo fingerprint check when falling back to test for a version 0 fingerprint (statement was not being cleaned up before re-preparation). check-in: 908f5883dd user: stephan tags: trunk
05:17
Reduced fsl_db_prepare_cached() buffer size and simplified nearby code a bit. check-in: 781faabfa1 user: stephan tags: trunk
04:41
Reduced fsl_buffer_reserve() calls by about 90% for f-parseparty (2.8m down to 300k), largely via addition of a db-level buffer for cached SQL preparation. Added a simpl hash to cached fsl_stmt instances to speed up fsl_db_prepare_cached() and reduce fsl_buffer_cmp() calls by 90%+. Record how many times any given caches fsl_stmt is reused and emit that via the new fcli_dump_stmt_cache() function. This reduces f-sanity allocations from 39k to 29k but slightly increases total allocated memory. check-in: c812573f26 user: stephan tags: trunk
02:54
Latest upstream fnc.c to squelch warnings from gcc. check-in: 33b4a4b279 user: stephan tags: trunk
02:39
Internal buffer allocation optimization in fsl_deck_save(). check-in: 23cd6b0b72 user: stephan tags: trunk
02:38
Fixed a memleak in f-aparse.c. check-in: f731ff162f user: stephan tags: trunk
2021-10-20
17:29
Build: when using the --profile flag, tell the various binaries to link against libfossil.o and sqlite3.o so that profiling picks up the library-level functions. We explicitly remove the -pg flag from sqlite3.o but _some_ of those symbols are still being included in profile state for unknown reasons. check-in: 52949a770b user: stephan tags: trunk
17:29
Brought s2 and cpp bindings up to date for fsl_deck changes. check-in: db284ea307 user: stephan tags: trunk
15:18
Minor doc and error message tweaks. check-in: 458afa63fa user: stephan tags: trunk
14:26
Doc updates related to the removal of fsl_deck::uuid. Fixed a mismatched transaction start/end in one particular error case in fsl_deck_crosslink() (when loading baseline of a delta manifest failed). check-in: 1742cabfde user: stephan tags: trunk
14:07
Removed fsl_deck::uuid and the step in fsl_deck_parse() which tries to map its input to an existing artifact. That step (which was there simply to proactively fetch the deck's rid and uuid) isn't strictly necessary and is a big performance hit. This reduces fsl_deck_parse() time by very roughly 2/3rds, per f-parseparty's mass-parsing tests on the libfossil and fossil repos. check-in: ba35aa3a57 user: stephan tags: trunk
13:16
f-parseparty: fixed an assert broken by the fsl_deck refactoring and added --dry-run flag. Closed-Leaf check-in: c1390fe2f8 user: stephan tags: remove-deck-uuid
13:11
Removed fsl_deck::uuid and the fsl_deck_parse() step which tries to map its inputs to an existing db record. While convenient for downstream code, it's a huge performance hit. Checking in to a branch for f-parseparty speed testing compared to the current trunk. check-in: 1dc391289c user: stephan tags: remove-deck-uuid
11:30
Minor auto.def cleanup. check-in: 5a85356515 user: stephan tags: trunk
10:39
Added --profile configure flag which enables the -pg compile/link option if CC appears to be gcc. check-in: a0d2863fdc user: stephan tags: trunk
2021-10-19
10:03
Doc updates and minor internal code reorgs. check-in: 9542202a90 user: stephan tags: trunk
09:18
merge in trunk for latest bits. check-in: df8635e89d user: stephan tags: port-merge
09:05
Added the FSL_GLOB() SQL UDF and infrastructure to support it, to enable operations which make use of the configurable glob lists to access those via SQL. check-in: 496acd50a1 user: stephan tags: trunk
07:51
f-ci can now tell the difference between being passed an unmanaged dir name or a managed dir name which contains no changes and correctly queues only modified files when passed a dir name. That triggered an as-yet-undiscovered fsl_id_bag_reset() bug, now fixed, which triggered an assert() but somehow has not asserted before. check-in: 97887399f1 user: stephan tags: trunk
04:06
More doc and constness tweaks. check-in: b0a40b1b49 user: stephan tags: trunk
04:00
Worked around doxygen warning quirks. check-in: 38af521ffd user: stephan tags: trunk
03:54
Doc and constness updates. Removed the old code related to the long-obsolete open-or-attach mode of fsl_cx db handle management, now using only the attach mode. check-in: 386039e135 user: stephan tags: trunk
2021-10-18
14:19
Doc tweaks, constness updates, and removed some extraneous checks for NULL arguments. check-in: a1d926f055 user: stephan tags: trunk
14:03
Numerous minor doc and constness tweaks. Starting to use markdown formatting for API docs, now that it's been discovered that Doxygen can do that. check-in: 77e8ee40f8 user: stephan tags: trunk
13:35
Added an optional flag to wh-make-from-dot-in to force it to touch its generated files, to work around an issue where make-template does not modify a file because it is the same as its original but we really need the timestamp updated. check-in: 0dbd4b588c user: stephan tags: trunk
12:07
Changed signature of fsl_db_close() to return void. Removed some dead code. check-in: 0c32e3185e user: stephan tags: trunk
10:18
Added some debug output to f-test-merge.c. Discovered a f-revert bug in the process (it does not deal with pending vmerge state). check-in: 199e2cbcad user: stephan tags: port-merge
10:09
Merged in port-merge branch for many non-merge-specific tweaks made there. Merge feature is still in development. check-in: 4672dd694e user: stephan tags: trunk
10:02
Random doc updates and moved an enum from fossil-util.h to fossil-db.h. check-in: f069532a71 user: stephan tags: port-merge
2021-10-17
10:39
More slow progress on the merge port. check-in: 2c0ca8f720 user: stephan tags: port-merge
10:38
Added variants of fsl_cx_exec() (fsl_db_exec() proxy) and changed error propagation semantics of fsl_cx_prepare() to be more useful. check-in: 9abdf965ac user: stephan tags: port-merge
2021-10-16
19:01
This checkin was actually caused by a "CLI misinteraction," but that gives us an excellent opportunity to move it to its own branch for use with merge testing. Closed-Leaf check-in: 3faa7222a6 user: stephan tags: mistake
18:48
f-test-merge: fixed an incorrect if/else branch of porting which included a path we don't want (automatic selection of a fork to merge in). Fixed a NULL dereference when --help was invoked. Added some debug output. check-in: ae59f86383 user: stephan tags: port-merge
16:24
Minor code reorgs and reminders to self for the continued merge porting later on. check-in: 81e6402728 user: stephan tags: port-merge
15:50
Another few hundred lines of merge infrastructure and lots of unrelated constness tweaks. Moving to a branch because we can't test some of the new features without one. check-in: 3ff20f1d01 user: stephan tags: port-merge
13:28
More work on porting over merge infrastructure. check-in: bc66e6a73a user: stephan tags: trunk
12:09
More work on the merge operation infrastructure. check-in: a6b6f083cb user: stephan tags: trunk
10:14
Minor doc tweaks. check-in: f06262030d user: stephan tags: trunk
2021-10-15
09:33
While prepping for the merge port, moved the dry-run flag OUT of fcli and into the specific apps which implement it. Added skeleton f-test-merge app for use in the merge development. check-in: c9fb1f972f user: stephan tags: trunk
07:54
Insignificant cleanups found while scouting out what's needed to port over merge. check-in: 65b379e3e0 user: stephan tags: trunk
06:55
Minor API doc fix. check-in: d4a1ac1c89 user: stephan tags: trunk
2021-10-14
07:06
Replaced fsl_annotate_step::ymd (string) with fsl_annotate_step::mtime (Julian Day) and moved its formatting into the client-specified callback. This saves one allocation per version in an annotation and frees the user to use whatever time precision they care to. check-in: 8e98360ec3 user: stephan tags: trunk
02:17
Extended fsl_annotate_step interface with a stepType member to tell the callee what type of annotation step is happening. Changed semantics of fsl_annotate_step::stepNumber. Added more annotation docs. check-in: be38221c82 user: stephan tags: trunk
2021-10-13
16:03
Remove some CRLF line ending that was introduced by commit [ee5ff590851fc020]. check-in: 0bb22fba21 user: mgagnon tags: trunk
09:58
Renamed fsl_annotate_step_f_output_f() to fsl_annotate_step_f_fossilesque(). check-in: 7e9f766bc5 user: stephan tags: trunk
09:54
Removed an unused var. check-in: e887d10734 user: stephan tags: trunk
09:51
Changed return semantics of fsl_cx_flag_set(). Seems more useful this way. check-in: d509da4728 user: stephan tags: trunk
09:42
Simplified fsl_outputer by removing one level of indirection, replacing its state member (of type fsl_state) with a simple void pointer. The older level of indirection has never proven to be useful. check-in: 4bc926851e user: stephan tags: trunk
09:35
Initial implementation of a new callback interface for fsl_annotate() which moves the burnden of formatting to the caller (with an implementation provided which formats like fossil does). check-in: 24bc694bf8 user: stephan tags: trunk
2021-10-11
10:46
Minor internal doc correction. check-in: cf92163fc2 user: stephan tags: trunk
07:15
Escaped a doc sequence doxygen complains about. check-in: 503ec75ff3 user: stephan tags: trunk
07:05
Ported over the UTF-8 parts of fossil's "looks like" APIs. Whether or not we really need the UTF-16 counterparts remains to be seen. check-in: 496de4c153 user: stephan tags: trunk
02:53
Minor internal doc and test updates. check-in: 7933b213f4 user: stephan tags: trunk
02:07
Hardening of the new %#W.Ps handling against non-UTF8 input and character lead bytes which invalidly set at the end of a string. check-in: 3036e117df user: stephan tags: trunk
01:55
Minor constness cleanups. check-in: 33165c3eb1 user: stephan tags: trunk
2021-10-10
13:24
Minor cleanups in the new f-sanity.c %#-related tests. check-in: b380db5e3f user: stephan tags: trunk
13:09
Added '#' format modifier for fsl_appendf() %s, which causes it to count width and precision in UTF8 characters instead of bytes. This allows the split-mode diff renderer to measure its columns in characters instead of bytes and avoid truncating multibyte characters. check-in: 4432b1f97a user: stephan tags: trunk
07:53
Added fsl_strlen_utf8(). Minor internal split diff refactoring. Added -w/--ignore-all-space flags to f-adiff/f-vdiff and renamed the former -w flag to -W. check-in: ee5ff59085 user: stephan tags: trunk
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