Login
Timeline
Login

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

50 most recent check-ins

2026-08-17
16:31
Added bugs to todo leaf check-in: d32a1430ea user: danshearer tags: trunk
16:12
Fix bogus error message for -b check-in: c88b9b7723 user: danshearer tags: trunk
16:11
Two bits of dead code - sed whose value is never used, and fixed an error check that is never activated in fragment-diff, the recent new code (which is working brilliantly, just saying). check-in: a5dc1b7e9b user: danshearer tags: trunk
16:07
Bug in Download.pm - can't locate object method "find_cached" via package "9c8672456a9342b23f1a28d17a30862e" Was overwriting the lockfile hash on second invocation. check-in: af6551ac74 user: danshearer tags: trunk
16:05
gpatch detection assigns to $patch, so $gpatch never has a valid value. This was a problem when porting to the BSDs. check-in: 392d042671 user: danshearer tags: trunk
16:04
list_prereq() never returns its result check-in: 27c271c1e6 user: danshearer tags: trunk
15:46
update LumoSQL example wholesale, loads has changed. Also add new features and options to doc/not-forking.md . check-in: 46fe1fbad9 user: danshearer tags: trunk
15:42
Update for latest features and LumoSQL use case check-in: c5007244e9 user: danshearer tags: trunk
12:28
Update TODO.md check-in: 072329c4a8 user: danshearer tags: trunk
12:21
fossil ignore-glob check-in: 956f2a050c user: danshearer tags: trunk
11:03
For 0.8 release check-in: 2e53c88032 user: danshearer tags: trunk, version-0.81
10:22
bin/not-fork: find our own modules without PERL5LIB Until now an install made with PREFIX= left every invocation failing with "cannot find the NotFork::* Perl modules in @INC" on NixOS. Now we look for the libs as close as possible to the `NotFork` directory and add them. Claudio thought of this since the beginning, according to comments. check-in: fb13f8baa0 user: danshearer tags: trunk, version-0.8
2026-08-10
09:46
update docs to match warning that a synthetic version number takes precedence over a release of the same name. check-in: 709526b46b user: danshearer tags: trunk
09:44
Warn the user when a version_from_branch synthetic (made up, fake) name appears in the upstream as a real tag, since the branch tip takes priority over the tag. Example: we made up 3.54.0 for SQLite tip, but then SQLite released version 3.54.0. There may be a better way of doing this, but version numbering varies so wildly that a conservative increment seems safest. See the knots Claudio tied not-forking in to cope with many different versioning schemes used by different software packages. check-in: ac95d2bae1 user: danshearer tags: trunk
2026-08-07
16:34
Implement version_from_branch in the Fossil module, for constructing a synthetic version number for unreleased/untagged version numbers. This is almost the same as the same feature for Git, except for one small Fossil difference as explained in the docs and code. This means, for example, that LumoSQL can specify version 3.54.0 of SQLite even when that doesn't exist yet but presumably it will soon. In this example it is practically useful because the Fossil application often depends on an unreleased version of the SQLite library, because the two are developed symbiotically/codependently. check-in: 5b3374b462 user: danshearer tags: trunk
2026-06-10
22:18
Corrected fix for --check-prereq . No longer error when there is no not-fork.d/ directory, just ask the user if they meant --check-recommend, which lists all possible dependencies not just those in a particular set of not-fork.d/ recipes. check-in: 938cc8c9ed user: danshearer tags: trunk
22:14
Back out broken --check-prereq fix check-in: d90adc523d user: danshearer tags: trunk
21:18
Stop --check-prereqs from erroring if there is no not-fork.d/ directory (ie no recipes.) The purpose of --check-prereqs is to display the requirements for this particular set of recipies. --check-recommend on the other hand will give prerequisties for all possible recipies that might be implemented, thus they are the recommended things to install for a totally complete not-forking. check-in: cca6eeb40f user: danshearer tags: trunk
2026-05-30
21:34
Final pass? check-in: 9e809ed6e8 user: danshearer tags: trunk
21:31
More fixes check-in: 044b5ef7c8 user: danshearer tags: trunk
21:29
Even simpler README check-in: 0ab68ab8da user: danshearer tags: trunk
21:23
Simplify home page. check-in: af57cddf85 user: danshearer tags: trunk
21:16
Better explanations in README Added 3rd and final image as png rather than Fossil PIKCHR diagram format. check-in: 671f4026dc user: danshearer tags: trunk
16:22
Images check-in: d84fc5dcc1 user: danshearer tags: trunk
16:21
use images instead of Fossil-generated PIKCHK diagrams. check-in: 4e75dc75bd user: danshearer tags: trunk
2026-05-29
23:13
Added the version string bug found with LMDBv1.0, and also the Fossil annoyance that bites not-forking every time we run in a VM behind modern caching systems. check-in: bfcc92ab1d user: danshearer tags: trunk
19:23
Bump version to 0.7. check-in: 31438948a5 user: danshearer tags: trunk
19:23
- update for new fragment_patch, and verify the fragment_patch grammar now in this file - update for current numbers of code forges, a lot has changed since 2021 - various other doc fixes. This needs some more close editing. check-in: 6fa23af7c4 user: danshearer tags: trunk
19:21
Bring patch application in the case of fragment_patch inside not-fork, rather than use patch(1)'s algorithm. patch(1) has many ambiguities and strangenesses, with neither the format formally specified nor the various fallback behaviours. Given we don't need to support 40 years of historical patch behvaviour, replacing patch(1) for this use case was less than 200 lines and we have much greater accuracy. The 'patch' method does still exist, so a user can explicitly call patch if they wish. fragment_patch is a much better way of doing things though. check-in: 3ca08eaced user: danshearer tags: trunk
14:31
Updates now a lot more is known about fragment_patch and what we need to do to avoid potential traps with `patch(1)`. Hopefully getting closer to v0.7. Also the need for a local cache is pretty clear. Cache concurrency would be nice to have for LumoSQL, and essential if we were doing say a browser with 1GiB of source and hundreds of MiB of not-forked upstreams. check-in: b0b5cba659 user: danshearer tags: trunk
2026-05-28
16:15
Use non-scratch filename check-in: bbc41ca6cb user: danshearer tags: trunk
13:27
Remove the call to patch(1) altogether, replace with a small amount of code. This is the specification for that code, covering edge cases and all decisions we might need to make when applying patches. check-in: 1c1e09527f user: danshearer tags: trunk
10:26
Try out recipies for projects (or hypothetical projects) other than LumoSQL. Needed to explore lots of things noted in not-forking.md: * The fragment file grammar was documented here and there, but now brought together in one section in this file. Lots of trial and error to get this far, there are still probably plenty of mistakes. But it will really help in hand-rolling fragments the way they were intended to be made. * Made option descriptions reflect reality (patch options, added --version-range, cache override is -k not -c etc etc) * Discovered the difference between --local-mirror (much more on this topic in future commits) and a thing called srcmirror, which isn't yet documented but exists in the code and is probably important and external-facing but I haven't figured it out yet. check-in: 48e17c9012 user: danshearer tags: trunk
10:10
Fix bug with handling projects that have both a version suffix and a prefix, eg a git tag like "v1.2.3-release". Instead of returning "v" and "-release" both return blank. So far we've only used a single prefix such as "v" in LumoSQL which doesn't trigger the bug. check-in: f8d963bc96 user: danshearer tags: trunk
07:26
Doc fix check-in: ab2da6c252 user: danshearer tags: trunk
07:12
Add Text::Glob dependency. check-in: 19f3a53ec2 user: danshearer tags: trunk
2026-05-23
08:00
Check pre-requisites at runtime, using the same mechanism as --check-prereq . This is better than throwing a Perl error. check-in: 132e814408 user: danshearer tags: trunk
07:03
Improve installation instructions in README check-in: af2fe5ef5d user: danshearer tags: trunk
06:39
Explain libs not found error for non-default (eg unprivileged) install paths check-in: 1a5aa42381 user: danshearer tags: trunk
2026-05-04
20:00
First version... check-in: 57e71ac1a1 user: danshearer tags: trunk
2026-05-02
09:59
Update mirror comment check-in: 0f42d1d089 user: danshearer tags: trunk
05:53
New minor feature to track a branch rather than a version check-in: d68085ab6a user: danshearer tags: trunk
05:52
Make the first senteces more accessible and less jargon check-in: e5b77f9742 user: danshearer tags: trunk
2026-04-25
02:12
Parentheses to quiet warning, and Tcl aborts on any error message even if warning check-in: 4571072693 user: danshearer tags: trunk
2026-04-24
20:04
Bump version to 0.6 check-in: d831b36997 user: danshearer tags: trunk
20:00
Fix silently failing on non-zero exit of patch(1) check-in: ae61e56817 user: danshearer tags: trunk
19:58
Getting ready for version 0.6 check-in: d146ceda92 user: danshearer tags: trunk
2022-08-12
13:30
Changed the --prefer option to be per-source so it no longer takes a "for" argument; also made other "json lock" options per-source. Added a new per-source option to specify how to calculate checksums for tarballs, either for the file itself or for the directory it unpacks to. This allows a tarball to use for example narhash and verify even if the compression or other packing details change. Updated the documentation although there is still a need to add a discussion on lock files, local mirrors and related options. check-in: bc817d0986 user: Uilebheist tags: trunk
2022-08-05
17:07
Adding an option to fragment-diff to change the number of lines of context produced, default is 3 (before it used whatever default "diff" has, which is usually 3, now we set the default so it doesn't matter if "diff" changes). check-in: 24b29b291a user: Uilebheist tags: trunk
16:42
Making a copy of the "patch reject" output if it fails, as that's necessary to see what went wrong. check-in: 983d5aa092 user: Uilebheist tags: trunk