Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
203 ancestors of version-2.20 back to version-2.19
|
2022-11-16
| ||
| 18:46 | Version 2.20 (check-in: 210e89a059 ... user: drh tags: trunk, release, version-2.20) | |
| 16:02 | Update the built-in SQLite to the 3.40.0 release. (check-in: d0ee810004 ... user: drh tags: trunk) | |
|
2022-11-14
| ||
| 12:43 | Update the built-in SQLite to the 3.40.0 rc1 for testing. (check-in: 2ece5d0f06 ... user: drh tags: trunk) | |
|
2022-11-12
| ||
| 12:36 | Only issue notififications for ticket changes that do not previously appear in the EVENT table. Fix for ticket [ad9aa572e7972f57]. (check-in: fb040bb013 ... user: drh tags: trunk) | |
| 12:32 | Fix the TH_ListAppend() function in TH1 so that it correctly escapes strings that have a '}' character that has no matching '{' to its left. Fix for ticket [4d73b4a2258a78e2]. (check-in: 4ec65ebba9 ... user: drh tags: trunk) | |
|
2022-11-11
| ||
| 22:24 | A proposed fix for ticket [ad9aa572e7972f57]. Use an UPDATE rather than a REPLACE where possible when redoing EVENT table entries for tickets that are being rebuild, in order to avoid unnecessary notification events. (closed check-in: 1f0f62261c ... user: drh tags: ticket-notification-fix) | |
|
2022-11-07
| ||
| 19:42 | Yet another shell.c import from SQLite to deal with more typedef issues. (check-in: f0e625b1aa ... user: drh tags: trunk) | |
| 18:44 | Update to a newer version of 3.40.0 that includes a fix to shell.c that allows it to be compiled with older C compilers. (check-in: 25799e8930 ... user: drh tags: trunk) | |
|
2022-11-05
| ||
| 22:10 | Respect `"timeline-utc"` setting when a ticket change artifact is displayed on the /info page. This makes it consistent with other places and fixes a hyperlink to the corresponding item of the /timeline. (check-in: 0028a3ca6a ... user: george tags: trunk) | |
|
2022-11-04
| ||
| 18:02 | Update the built-in SQLite to the latest 3.40.0 beta, for testing. (check-in: 10d7174847 ... user: drh tags: trunk) | |
|
2022-10-28
| ||
| 19:48 | Also documented the new "clone -u -v" feature. (check-in: 0d61fd2310 ... user: wyoung tags: trunk) | |
| 19:45 | Since it seems my clone -u fixes are going to stick, documented them in the changelog. (check-in: 02631e3500 ... user: wyoung tags: trunk) | |
| 17:08 |
Improve correctness, usability and efficiency for the case
when values in a TICKET's column tend to be long and volatile.
Owner of a repository may specify one or several TICKET's columns so that delta-compression is tried for the corresponding ticket change artifacts and the corresponding changes on the /tkthistory page are rendered via unified diffs. See details in the associated wiki. (check-in: 872a3b2327 ... user: george tags: trunk) | |
| 16:28 |
Add comments for auxiliary local variables inside ticket_output_change_artifact().
(closed check-in: 53b66cf63f ...
user: george tags: deltify-tkt-blobs)
| |
| 06:51 | Typo fix in changes.wiki. (check-in: 141793c4ab ... user: stephan tags: deltify-tkt-blobs) | |
| 06:37 | Merge trunk into deltify-tkt-blobs branch. (check-in: 86916df534 ... user: stephan tags: deltify-tkt-blobs) | |
| 00:18 | Fix a typo in a comment. (check-in: a2ed111979 ... user: george tags: deltify-tkt-blobs) | |
| 00:11 | Add more comments and a changelog item. No code changes. (check-in: e690df08f4 ... user: george tags: deltify-tkt-blobs) | |
|
2022-10-27
| ||
| 17:56 | The check for whether to continue during sync due to outstanding "uvgimme" requests was being skipped in clone -u mode due to misordered tests at the end of the client side of the sync protocol. (check-in: 52648d0384 ... user: wyoung tags: trunk) | |
| 17:15 | Since "fossil uv sync -v" turns on UV trace mode, made "fossil clone -u -v" enable that mode as well, since otherwise there's no way to get into UV trace mode during clone. (e.g. There is no global "--uvtrace" option.) (check-in: cdd58b1fbf ... user: wyoung tags: trunk) | |
| 16:01 | Consolidated two related tests in the sync protocol to avoid re-testing a flag twice and to bring related code closer together. (check-in: 6293b28209 ... user: wyoung tags: trunk) | |
| 15:13 | Corrected a difference in the case of a SQLite table name. The DBMS doesn't care, but it risks missing relevant references to this table when searching with a case-sensitive text editor. (check-in: 1b1887cb69 ... user: wyoung tags: trunk) | |
| 14:20 | Mention the new `fossil branch lsh' subcommand in the change log. (check-in: 67c9d929db ... user: florian tags: trunk) | |
|
2022-10-26
| ||
| 18:28 | Typo fix in the 2.20 changelog (check-in: c301250872 ... user: wyoung tags: trunk) | |
| 12:46 | Update the built-in Pikchr source code and WASM/JS builds. (check-in: 8f4a32ccae ... user: drh tags: trunk) | |
| 11:14 | Update the built-in SQLite to the latest 3.40.0 alpha version that includes all performance enhancements and bug fixes. (check-in: 4aa7837505 ... user: drh tags: trunk) | |
| 11:13 | Update to a still newer version of SQLite 3.40.0 alpha that compiles without warnings on Mac ARM64. (closed check-in: 6ff6d49521 ... user: drh tags: busted-build) | |
| 10:59 | Remove the -D_HAVE_SQLITE_CONFIG_H option from the build of SQLite. We haven't had the config.h file for SQLite, so this should be a harmless change. (check-in: 2522366fc7 ... user: drh tags: busted-build) | |
| 10:47 | Update the built-in SQLite to the latest 3.40.0 alpha version that includes all bug fixes and performance enhancements. (check-in: c7dc188478 ... user: drh tags: busted-build) | |
|
2022-10-24
| ||
| 14:40 | Fix a comment typo. (check-in: db8b14c57a ... user: drh tags: trunk) | |
|
2022-10-23
| ||
| 06:48 | Code maintenance for the `copybtn.js' script: Remove global data, reference DOM elements by function-binding instead of by id (that is possibly reused for the short-lived tooltip), and normalize variable names and string quoting style. (check-in: d5f6621527 ... user: florian tags: trunk) | |
|
2022-10-18
| ||
| 17:01 | Minor comment reformatting. (check-in: 0df4abc74b ... user: stephan tags: trunk) | |
| 16:55 | Cache get_comment_format() result to avoid that the global config db is queried once per timeline row, which brings fossil to a standstill when ~/ is NFS-mounted. Discussion in 9aaefe4e536e01bf. (check-in: 6e62c8510f ... user: stephan tags: trunk) | |
| 16:17 | Add a by-hour-of-day report to the /reports page, prompted by a /chat discussion. (Edit: initial user mis-attribution was caused by a config-pull which changed my local default user.) (check-in: bb6f23313e ... user: stephan tags: trunk) | |
| 13:35 | For the BUILTIN virtual table, map one-based rowids to zero-based array indices, to fix access to the first entry. (check-in: cf563c7217 ... user: florian tags: trunk) | |
| 13:32 | Document more consequences of the merge parent-merge child relationship not recorded for private branches. (check-in: 3b719a9614 ... user: florian tags: trunk) | |
| 13:31 | Cherry-pick [767b175d90]: Avoid references to private check-ins in Q-cards of public check-in manifests. This ensures consistent behavior regarding leakage of private check-in hashes, possibly generating phantoms on peer repositories, for P- and Q-cards. (check-in: 52a66829d6 ... user: florian tags: trunk) | |
|
2022-10-16
| ||
| 00:09 | Highlight a ticket's change that corresponds to the URL's fragment of the /tkthistory page. (check-in: 7afd4db3d3 ... user: george tags: deltify-tkt-blobs) | |
|
2022-10-09
| ||
| 22:56 | Rework the previous check-in to fix incorrect backlinks' sources for the case when values are appended to a field (i.e. a value of J-card starts with '+'). Consider a reference to 77ab05a0e9 from [caeb7d672df20] for an example which was handled incorrectly by [668e45baff99]. (check-in: 4d5ded5eea ... user: george tags: deltify-tkt-blobs) | |
| 01:11 | Grammar fix (check-in: 658547aa7c ... user: wyoung tags: trunk) | |
|
2022-10-07
| ||
| 23:28 | Assorted fixes and improvements to the ssl.wiki doc (check-in: 27458ef7ba ... user: wyoung tags: trunk) | |
| 23:06 | Updated the debian/nginx.md doc for Ubuntu 22.04. The biggie is simplifying the TLS configuration, since the manual method we used to have no longer seems to be required with current versions of Certbot. (check-in: 716ae7c069 ... user: wyoung tags: trunk) | |
| 22:21 | Fixed a few references to the obsolete tls-nginx.md doc. (It became part of the overall nginx.md server doc long ago.) (check-in: 780b58bccf ... user: wyoung tags: trunk) | |
| 22:15 |
Assorted updates surrounding my fslsrv wrapper:
| |
|
2022-10-06
| ||
| 15:42 | Added hyperlinks to the new changelog entries referencing the files in question. (check-in: 2c127ba7aa ... user: wyoung tags: trunk) | |
| 14:34 | Fix the htmlizer so that it converts 0x0d (carriage return) into 0x20 (ordinary space). Fix for the diff problem reported by forum post 2a63b483f5f048c2 (check-in: 050ba62973 ... user: drh tags: trunk) | |
| 02:44 | Closing off the containers project: added the doc to the permuted index, noted the changes in the changelog, and removed all the hedging about WAL mode in the doc, having failed to make WAL fail in this scenario. (check-in: 92982dc4e2 ... user: wyoung tags: trunk) | |
|
2022-10-04
| ||
| 12:54 | Fix some broken hyperlinks in documentation files. (check-in: a59af25f60 ... user: danield tags: trunk) | |
|
2022-10-03
| ||
| 01:41 | Fix redundant back-references originating from outdated/superseded values within TICKET table. See forum thread a6ba08e926. (check-in: 668e45baff ... user: george tags: deltify-tkt-blobs) | |
| 01:31 | Fix naming of columns on the /test-backlinks page. (check-in: 6a5604f481 ... user: george tags: deltify-tkt-blobs) | |
|
2022-10-02
| ||
| 03:58 | Typo fixes in the /dir browser header: All File ==> All Files. (check-in: 7727f9a6fb ... user: stephan tags: trunk) | |
|
2022-09-30
| ||
| 12:38 | Simplification to the JS used as part of anti-robot defenses. (check-in: 08535b229e ... user: drh tags: trunk) | |
|
2022-09-29
| ||
| 15:19 | Correct skintxt2config.c to be able to handle 0-byte input files. (check-in: c7c1c4e8b9 ... user: stephan tags: trunk) | |
| 09:25 | 'skin:' CGI config directive now accepts an empty value for consistency with the --skin CLI flag. (check-in: 6362a98fa6 ... user: stephan tags: trunk) | |
| 09:13 | --skin "" now forces use of the current edited skin and the warning on the /skins page about a forced skin now distinguishes between /draft and --skin ... usage. (check-in: 816f6c040d ... user: stephan tags: trunk) | |
| 08:22 | Import the latest 3.40.0 alpha version of SQLite into the tree. (check-in: fbad277226 ... user: drh tags: trunk) | |
|
2022-09-28
| ||
| 15:35 |
add new "Related Work" page linked from the User Links page
Suggested by drh@ with lots of tweaks from wyoung@ (check-in: 8ab498bd06 ... user: mark tags: trunk) | |
| 12:28 |
improve login-group command documentation and output
Prompted by 58f01f6d92, a7d15cc071, and 1c639bcdea. Clarify semantics of -R|--repository in 'fossil login-group join' and make user output more helpful. While here, trim some trailing whitespace. (check-in: 83bc81e882 ... user: mark tags: trunk) | |
|
2022-09-27
| ||
| 14:39 |
make chatbot message box transparent to avoid collisions
Suggested by mgagnon in /chat. Hint from stephan. (check-in: c8b3ec1e6d ... user: mark tags: trunk) | |
| 13:47 | Fix a bug in the chat-robot. (check-in: b3f87ef7c2 ... user: drh tags: trunk) | |
| 11:11 |
print stash metadata when popping or applying stash
Feature request from Alfred M. Szmidt in ae3ad9c69f. Minor tweak of original patch by stephan@ (check-in: 1392710fb4 ... user: mark tags: trunk) | |
|
2022-09-26
| ||
| 22:29 | Replaced most of the speculation in the walmode section of the containers doc with a link to the walbanger project, where we'll be answering this question. (check-in: 96633067d5 ... user: wyoung tags: trunk) | |
| 12:08 | The g.fJail global variable should always be set whenever a chroot jail has been entered. (check-in: 558cef7c6d ... user: drh tags: trunk) | |
| 07:08 | Cherrypick [5ade6fb863e4], inadvertently checked in on a different branch. (check-in: 44c5d02932 ... user: stephan tags: trunk) | |
| 06:47 | Correct an outdated path and fix a typo reported in the forum. Doc changes only, no code. (check-in: 5ade6fb863 ... user: stephan tags: markdown-tagrefs) | |
| 06:43 | Update the hyperlink for purchasing a SEE license. (check-in: c3ce8a424a ... user: danield tags: trunk) | |
|
2022-09-25
| ||
| 14:18 |
fix specified file path case in locate_unmanaged_files()
Only insert unmanaged files into the temp sfile table. This now makes the routine behave consistently whether file, directory, or no paths are passed on the command line, and fixes the `fossil changes --extra` bug report in 452ec8fac167. (check-in: 39eb451ad3 ... user: mark tags: trunk) | |
| 13:44 |
tweak `fossil remote` cmd to update the "default" name
Don't delete the current default remote-url when the user invokes the invalid `fossil remote add default` command; instead, output correct usage to update the special "default" symbolic name. Tweak help text to make this more obvious. Prompted by 5748fcb117a99b43. (check-in: 2a3e851e7b ... user: mark tags: trunk) | |
| 07:18 | Minor changes to option handling for the `ui' command: (A) Abort early with an error message if the specified port number is invalid (instead of later with an assertion failure); (B) Add short form -p for --page; (C) Add short form -B for --nobrowser. (check-in: 1431ebae3d ... user: florian tags: trunk) | |
| 06:50 | Prevent the web UI side-by-side diffs and their scrollbars from getting truncated on the right. Forum Post f9becc251c. (check-in: 1a668d359a ... user: florian tags: trunk) | |
|
2022-09-23
| ||
| 17:13 | Enhancements to the "fossil finfo -i" command such that it only shows the first check-in for the file (unless -v is also used) and so that it shows the modification time as a separate line for easy parsing by scripts. (check-in: ac6edb35df ... user: drh tags: trunk) | |
| 16:44 | Fix the help text for the previous check-in. (check-in: c0162a4f09 ... user: drh tags: trunk) | |
| 16:44 | Fix the "finfo" command so that -r is not required with -i. If the -r is omitted, then "current" is used in its place. (check-in: 35c6d15a08 ... user: drh tags: trunk) | |
| 13:17 | Remove an extra newline character from the output of the new "fossil remote hyperlink" command. (check-in: 76bc66a950 ... user: drh tags: trunk) | |
| 13:04 | Add the "fossil remote hyperlink" and "fossil remote ui" subcommands. (check-in: b2e2fc0372 ... user: drh tags: trunk) | |
|
2022-09-21
| ||
| 17:14 | Backup any unmamaged files that are about to be overwritten by an update or merge. Potentially avoid the loss of a local file if the overwrite warning goes unnoticed, in which case undo is useless. (check-in: e99e58c568 ... user: mgagnon tags: trunk) | |
| 16:52 | Fix a typo in comment (no code change) (check-in: 1356151980 ... user: mgagnon tags: trunk) | |
|
2022-09-20
| ||
| 14:13 |
On the /tkthistory page supply each ticket change item
with a corresponding id attribute and make the 'History' button
within a submenu of a /tinfo page to link back
to that particular element on the /tkthistory page.
(check-in: 4bb91f38a8 ...
user: george tags: deltify-tkt-blobs)
| |
| 13:56 | Minor optimization and refactoring. (check-in: b2049d643b ... user: george tags: deltify-tkt-blobs) | |
|
2022-09-17
| ||
| 12:45 | Add a comment to the tree-view to explain that file ages are relative to the check-in time. (check-in: 0fb353c10d ... user: drh tags: trunk) | |
|
2022-09-15
| ||
| 17:11 | Add documentation for chat-timeline-user. (check-in: 24c71dfb1e ... user: drh tags: trunk) | |
| 17:08 | Add the chat-timeline-user setting to the 2.20 change log. (check-in: 0efd583a54 ... user: stephan tags: trunk) | |
| 16:58 | Added lmtime value to chat-timeline-user's chat messages, using the server's local time, to fix time display in the /chat message popup. (check-in: e1ad499265 ... user: stephan tags: trunk) | |
| 15:51 | Improved comments on the new chat-timeline-user feature. (check-in: c3ed2430cc ... user: drh tags: trunk) | |
| 15:35 | Improved chat messages for the chat-timeline-robot. (check-in: 974cf3667c ... user: drh tags: trunk) | |
| 13:40 |
Improve /tkthistory page: render selected ticket fields as unified diffs.
(check-in: b75a9d0fa3 ...
user: george tags: deltify-tkt-blobs)
| |
|
2022-09-14
| ||
| 19:24 | Do not require that the chat-timeline robot username be an actual user in the USER table. If the chat-timeline-user config variable exists, then timeline events are announced in chat, regardless. (check-in: 1f5474ec31 ... user: drh tags: trunk) | |
| 13:12 |
Remove redundant PRE tags on the /wdiff pages.
(check-in: 0dd5451d7f ...
user: george tags: deltify-tkt-blobs)
| |
|
2022-09-13
| ||
| 20:11 | Add the ability to designate a timeline robot user. If such a user exists, and if chat is enabled, then notifications of all timeline events appear in chat, from the robot user. (check-in: e9d7cf3e92 ... user: drh tags: trunk) | |
|
2022-09-09
| ||
| 18:26 | Minor improvement to SEE integration. (check-in: 660c2b1512 ... user: mistachkin tags: trunk) | |
| 17:22 | Sync up custom makefile for MinGW. (check-in: a3ed29ea34 ... user: mistachkin tags: trunk) | |
|
2022-09-07
| ||
| 09:11 | Mentioned containerd+nerdctl in place of runc in the containers doc. A tightened-up version of the prior runc and crun sections are now collected below the Podman section. This gives a better flow: each successive option is smaller than the last, excepting only nspawn, which is a bit bigger than crun. (We leave nspawn last because we can't get it to work!) (check-in: 457c14a490 ... user: wyoung tags: trunk) | |
| 07:35 | Updated the "nojail" patch for our Dockerfile to track the recent changes: rename back from Dockerfile.in and the layer refactoring. It does essentially the same thing as before. (check-in: 19abf0ac13 ... user: wyoung tags: trunk) | |
|
2022-09-05
| ||
| 14:03 | Update the built-in SQLite to the latest 3.40.0 alpha. (check-in: 9d12e96440 ... user: drh tags: trunk) | |
| 08:15 | Broke the Dockerfile up into more layers to allow better local caching at build time. Further optimized build time by producing the Fossil source tarball from the local repo instead of hitting the home site if you use the container-image target, since we can be reasonably certain you're working from a repo checkout and thus have all the info available here locally already. (check-in: 1da464eeb9 ... user: wyoung tags: trunk) | |
| 01:42 | Expanded the paragraph on WAL mode interactions in the container doc into a full section, placed higher up, immediately after the first use of Docker's "--volume" flag, to explain why we don't map just the repo DB file, but the whole directory it sits in. Even if we later convince ourselves WAL is safe under this scenario, it'll be conditional at best, so some remnant of this section must remain, no matter which way the experiments go. (check-in: 698587d41d ... user: wyoung tags: trunk) | |
|
2022-09-04
| ||
| 23:46 | Renamed Dockerfile.in back to Dockerfile so it can be used as-is on non-autosetup systems. Realized that we can pass the Fossil checkin hash prefix in as a build arg instead of regenerating the file on disk from auto.def. If you use the Dockerfile as-shipped, you get a "trunk" build, which risks a stale cache — it thinks it already has a tarball by that name and helpfully refuses to pull it again — but at least Windows users get *something* without hand-hacking the file. (check-in: b0c9c26a9c ... user: wyoung tags: trunk) | |
| 22:20 | Added a /jail/log directory to the container so someone can pass --errorlog and such to the Fossil instance and have a place to put it. It also acts as a mountpoint for appending to a log out on the host. (check-in: ed50ceee0d ... user: wyoung tags: trunk) | |
| 21:58 | /dev permissions were too tight in the container. They're still tighter than on a stock Ubuntu box, but they should suffice for Fossil's needs. (check-in: 8eeb95e127 ... user: wyoung tags: trunk) | |
| 12:55 | Restricted the container listeners to localhost in section 6 of the containers doc, and mentioned a few other items related to reverse proxying with nginx. (check-in: c9ab736f78 ... user: wyoung tags: trunk) | |
| 12:14 | Folded info from an exchange with the Podman devs into the container doc. (check-in: 80f4a1dd49 ... user: wyoung tags: trunk) | |
| 11:36 | Added section numbers to the containers doc (it was getting confusing) and added a few internal fragment IDs. (check-in: 4d51d52417 ... user: wyoung tags: trunk) | |
| 11:26 | Finished all the new topics planned for the new containers doc, adding sections on rootful Podman containers and on building via Docker but running via Podman, using Docker Hub as an intermediary to avoid building on the remote host. (check-in: 9c96e49995 ... user: wyoung tags: trunk) | |
| 09:27 | Sanitized a local port number out of previous (check-in: 3dfa458167 ... user: wyoung tags: trunk) | |
| 09:25 | Added my sad tale of failure and woe with systemd-nspawn to the container docs, both as a warning to those who follow, and as a cry for help to someone who can make this work. I can't be bothered to spend more time on it, but there's no point throwing the work away. (check-in: 1e8c665528 ... user: wyoung tags: trunk) | |
| 09:15 | Documented another cause to modify the "m" variable in the runc examples in the container docs. (check-in: bf5030883a ... user: wyoung tags: trunk) | |
| 08:09 | Added more jq filters to the runc examples to remove further problematic things left in the automatic conversion from the Docker container configuration file to the one we provide to runc. (check-in: 4e8c74797f ... user: wyoung tags: trunk) | |
| 07:15 | Worked through some difficulties here in applying the runc method on remote systems, then documented what I learned in the containers doc. (check-in: 56f4e2ce2f ... user: wyoung tags: trunk) | |
| 06:28 | Small fix to previous (check-in: d5695c8ef1 ... user: wyoung tags: trunk) | |
| 06:02 | Expanded the runc section of the container doc to cover "bundle" terminology and to show a method for rsyncing the bundle across to a remote host. Also explained why this is a bad idea unless you've got a rather constrained use case, lest people avoid using podman/docker in places where they could provide real value. (check-in: f9f13ce7a9 ... user: wyoung tags: trunk) | |
| 04:32 | Documented the runc and crun options for running a container, including the cryptic method for exporting an OCI bundle from Docker, allowing you to use both together: Docker Desktop on your big dev box in the office, then one of the two lightweight runtimes out in the cloud. (check-in: c9431ef4a3 ... user: wyoung tags: trunk) | |
| 02:35 | Added explicit instructions for patching the Dockerfile for the nojail/podman method and for mapping a single Fossil repo into the container rather than a directory. Also included my best current advice on using WAL mode in these contexts. (check-in: 87a23d2a7c ... user: wyoung tags: trunk) | |
| 02:15 | Removed a TODO-based section of the new containers doc that wasn't meant to be checked in yet. Made a few improvements to the new Podman material as well. (check-in: 5adf6c40d9 ... user: wyoung tags: trunk) | |
| 02:01 | Added the "Lightweight Alternatives to Docker" section to the new containers doc, currently limited to a tutorial on converting the stock Dockerfile to work under Podman in its default mode, creating a rootless container. This brings in the second container-related file at the root of the repo, the patch file for this, so we don't have to maintain two nearly-parallel Dockerfiles. As a bonus, it allows us to point to the patch from the prose, making explicit what we had to change. (check-in: f0399ea9ca ... user: wyoung tags: trunk) | |
| 01:53 | Moved the busybox-config file from tools/ into a new containers/ subdirectory. We were using that as a junk-drawer directory, for lack of a better place to put it. Now that we're about to have a second container-related file in the repo, that weak excuse is wearing thin. (check-in: b08e2bb747 ... user: wyoung tags: trunk) | |
| 01:39 | Referencing the new containers.md file from Dockerfile.in so we can remove a big redundant block comment from it. While in there, made a few style tweaks that will help the ongoing container document expansion. (check-in: be8f721d61 ... user: wyoung tags: trunk) | |
|
2022-09-03
| ||
| 23:34 |
Extracted the Docker containers material from www/build.wiki and moved
it into a new document dedicated to the topic, containers.md. It was
already pushing the bounds of how much info we want to provide in a
single section of that doc, and it's about to get bigger.
As part of the conversion from wiki format to Markdown, did another edit pass on the doc, improving a few things along the way. Dropped the "docker-" prefix from all internal IDs, as we no longer need them to disambiguate references to other parts of the build doc. (check-in: 7129dc9868 ... user: wyoung tags: trunk) | |
|
2022-09-01
| ||
| 16:05 | Address builtin_deliver_multiple_js_files() endless loop reported in forum post a9a60fab07. (check-in: 76c9bbb3bd ... user: stephan tags: trunk) | |
| 10:52 | Add aliases as a new command type and display these next to the corresponding main command in /help. Make sure that for the 'test-all-help' command and webpage each help string is output at most once. (check-in: db70849495 ... user: danield tags: trunk) | |
| 01:29 | Merge in trunk. Resolve a shadowed var in dispatch.c which led to an assigned-but-not-used warning. (closed check-in: a257fbd92e ... user: stephan tags: help-aliases-unique) | |
|
2022-08-30
| ||
| 01:49 | Embroidered the "make container-run" target to make it more convenient. (check-in: bc09e28a26 ... user: wyoung tags: trunk) | |
|
2022-08-29
| ||
| 18:21 | The container doc bit on raw sockets now covers the other three Busybox utilities we left out previously. Today's removal of ping and traceroute merely completes the set; it wasn't complete in itself. (check-in: b429bd71db ... user: wyoung tags: trunk) | |
| 18:07 | Clarified the points in §5.2.1 of the Docker container build doc regarding the reason why the server parent process runs as root. (check-in: c2eaa60da9 ... user: wyoung tags: trunk) | |
| 17:54 | Researched, tested, and documented the set of "docker create --cap-drop" options we can add to strip away unnecessary root privileges inside the container without harming normal operation. Belt-and-suspenders: if any bad actor ever got into the container with root privileges, this would help prevent them from affecting anything outside the container. Added that set to the "make container-run" target so they get applied by default in the easy case. (check-in: f715add938 ... user: wyoung tags: trunk) | |
| 17:32 | Removed ping and traceroute commands from the Docker container. They require raw sockets support, which means if anyone broke into the container and managed a root privilege escalation, they could do a wide array of bad things on any network the container is bound to. (check-in: f00a88f896 ... user: wyoung tags: trunk) | |
| 16:01 | Polishing pass on §5.2 of the container build doc, "Why Chroot?" (check-in: e98603144b ... user: wyoung tags: trunk) | |
| 14:27 | Add a missing closing LI tag for the /tkthistory page. (check-in: 2d0b2bda87 ... user: george tags: deltify-tkt-blobs) | |
| 14:03 |
Minor optimization within getAllTicketFields() function.
(check-in: c3e7ed3089 ...
user: george tags: deltify-tkt-blobs)
| |
|
2022-08-28
| ||
| 17:58 | Clarified the parent process user ID vs the child process in the explanation of how the chroot feature interacts with the custom user feature of the Docker container. (check-in: f9ddd38ecc ... user: wyoung tags: trunk) | |
| 17:52 | Made a better distinction between bind mounts and Docker volumes in the new Docker section of the build doc. (check-in: 958a6af94b ... user: wyoung tags: trunk) | |
|
2022-08-23
| ||
| 11:14 | Correct a NULL being passed to strcmp() which caused any submit of JS script code in the skin editor to segfault. Reported in forum post 9d9f0580fd. (check-in: a88478391e ... user: stephan tags: trunk) | |
|
2022-08-22
| ||
| 18:27 |
Make it possible to store similar ticket change artifacts as deltas.
This might be useful when a certain column of the TICKET table
holds a lengthy text that may undergo frequent modifications.
This is an opt-in feature. It is activated only when TICKET table
contains a phony | |
|
2022-08-18
| ||
| 13:21 | Add the "Timeline" submenu link on the setup_edit page, for ordinary users. Change the "Access Log" link on that same page so that it is only present for ordinary users - not special users like "reader" or "developer". (check-in: 6f70a236ce ... user: drh tags: trunk) | |
|
2022-08-17
| ||
| 05:30 | Removed a digression in the gitusers doc about Fossil's new clone-and-open mechanisms. That got moved to the ckout-workflows doc quite some time back, and we already point to it from that same section. There's no reason for the redundancy. Also cleaned up some grammar and typos while in there. (check-in: f43eaf01e3 ... user: wyoung tags: trunk) | |
|
2022-08-16
| ||
| 11:05 | Changed the "fossil server --user" flag's argument back to "admin" from "fossil" for the container: I was confusing the Unix user name with the default Fossil repo user name. The new "adduser fossil" stuff doesn't help here; we still want it to be called "admin". (check-in: 72d820f320 ... user: wyoung tags: trunk) | |
| 11:04 |
ARM build fixes for the container:
| |
| 09:39 | Minor fixes to the Docker container build process (check-in: 454397b0cd ... user: wyoung tags: trunk) | |
| 07:14 | URL fix necessitated from the Dockerfile.in rename (check-in: 2f67bf941a ... user: wyoung tags: trunk) | |
| 07:03 | Carved the Docker container image size down still further by stripping out all but two of the stock skins (d* so we get default and darkmode) and packing Fossil and BusyBox with UPX. (check-in: e20d044cc0 ... user: wyoung tags: trunk) | |
| 06:49 | Fixed an Obi Wan error in the new Fossil version prefix stuff in auto.def: it was extracting the first 13 characters of the hash, not the first 12. (check-in: 7ecd23e0ef ... user: wyoung tags: trunk) | |
|
2022-08-15
| ||
| 23:21 | Added the container-image and container-run top-level build targets to manage dependencies better and to auto-version the build products. (check-in: 67386c75f5 ... user: wyoung tags: trunk) | |
| 23:07 | Put the "--user fossil" bit back into the fossil server command for the container. Just ran into a situations where it's still needed. (check-in: 4c8cc80450 ... user: wyoung tags: trunk) | |
| 22:13 | Polishing pass on the container repo storage section of the build docs. (check-in: 3e332637f1 ... user: wyoung tags: trunk) | |
| 22:02 | Changed several of the Docker environment variables to build arguments so the user an override them at build time rather than container creation time, and documented them in build.wiki. Using this new mechanism to pull the Fossil source tarball in such a way that we can use the Docker artifact cache without getting stale builds. You can now pass one of the new build args to force the old behavior if you want it. This required generating Dockerfile from Dockerfile.in at configure time, to inject the current Fossil checkin ID. (This busts the Docker cache when the source tree changes.) (check-in: f938438380 ... user: wyoung tags: trunk) | |
| 15:32 | Adding the BusyBox tarball to the container image with an ADD command rather than wget to avoid triggering GitHub throttling. Unlike the Fossil repo URL, it has a version number baked into it, so it's safe to give it over to Docker's caching behavior. (check-in: d06d7c464e ... user: wyoung tags: trunk) | |
| 14:48 | Noted the container size shrinkage in the fossil-v-git doc (check-in: f21de33e97 ... user: wyoung tags: trunk) | |
| 14:42 | The container now builds Busybox from source so we can remove utilities that are unhelpful inside the container. We leave a lot behind for expansion (e.g. the runit init system, crond, inetd…) but we remove things that have no possible justification, such as modprobe. We remove everything from /bin that's a shell builtin (echo, printf, test…) and we replace a few BusyBox commands (sha[13]sum) with wrapper shell scripts that call Fossil builtins. We cap that off by adding a "sqlite3" wrapper that calls "fossil sqlite3 --no-repository", just for fun. All together, this trims about a meg of fat. (check-in: 953f367e94 ... user: wyoung tags: trunk) | |
| 10:28 | Add #ifdef's to fix the Windows build. (check-in: f572f7524d ... user: florian tags: trunk) | |
|
2022-08-14
| ||
| 19:53 | The chown -R bit added to the Dockerfile touches /jail/bin/fossil, which causes "docker build" to promote it back into a new layer, nearly doubling the container size. Doing a chown now only on two directories, restoring it to its sub-9M size. (check-in: 00cc9c3eb1 ... user: wyoung tags: trunk) | |
| 19:42 |
Fossil's chroot feature drops root permissions based on file ownership,
but since the container was built with everything-root, its HTTP hit
handling children would run as whatever host-side UID/GID pair you used
for file ownership. What happened next was complex.
If you let the container create the repo internally, it would be owned as root, so it would drop root permissions for…root! This isn't super-bad, since Fossil is presumed secure and is double-jailed besides. The risk is, if anyone works out an RCE for Fossil, they might be able to get it to create raw sockets or do various other types of escapes despite the double-jail dance. Attaching a Docker volume brings external permisssions into the container. We were recommending a "chown 0" command on the shared volume to make it similar to the in-container case, but that opens you to the same risks above. If you ignored this and used host-side UID/GID pairs, Fossil would then be left running under IDs that didn't exist internally, which could cause assorted weirdness. We're now creating an explicit "fossil" user/group pair inside the container and recommending that Docker volumes use these IDs for copied-in files to batten down something that shouldn't've been left flapping. Updated build.wiki to cover all this. (check-in: ba21bc0b8f ... user: wyoung tags: trunk) | |
| 19:33 | Resolved timeline segfault reported in forum post 0bbb66eee4ba35db, triggered by entries with NULL checkin messages. (check-in: 20eab78592 ... user: stephan tags: trunk) | |
| 18:48 | Moved the SIGTERM handler up before the "fossil server" HTTP hit handler. We had it clustered with the other signal() calls, but those are to handle signals intended to occur only during CGI processing. This one will normally occur while we're blocked, waiting for the HTTP hit to occur, so it had no useful effect where it was. (check-in: d3c55fe024 ... user: wyoung tags: trunk) | |
| 18:01 | Changed previous to call fossil_exit() instead of exit(3) so we close our databases before dying. (check-in: 7c857d2233 ... user: wyoung tags: trunk) | |
| 17:59 | The parent process now handles SIGTERM with an explicit exit(3) call when its PID is 1, as when it's running as "fossil server" in a Docker container. Without this, the container host's shutdown process takes a long time because it's waiting on PID 1 to die and eventually has to time out and kill it. (check-in: 1d09e60739 ... user: wyoung tags: trunk) | |
| 16:19 | Markup fix (check-in: cf1497877a ... user: wyoung tags: trunk) | |
| 16:18 | Clarified the fact that the "docker cp" command is changing the name of the repository DB file. (check-in: f0b15a37fc ... user: wyoung tags: trunk) | |
| 16:15 | Slight emphasis fix in previous (check-in: 1441c2e6d3 ... user: wyoung tags: trunk) | |
| 16:13 | Edit pass on §5.1 of build.wiki, fixing a number of unclear bits, particularly with regard to images vs containers. (check-in: e2b9114b18 ... user: wyoung tags: trunk) | |
|
2022-08-13
| ||
| 23:39 | Using the preceding --chroot fixes to make the Docker container serve the repo from /jail/museum/repo.fossil rather than from the chroot dir, /jail. This then allows us to mount a Docker volume at /jail/museum, which has an independent persistence from the container proper, so we can now rebuild the container without destroying the presumably precious repo. Updated build.wiki to track this change and document the lessons gleaned from doing all of this. (check-in: f76e762fb7 ... user: wyoung tags: trunk) | |
| 22:15 | Moved the chdir() call within enter_chroot_jail() down below the new repo name canonicalization code to allow use of relative path names. Before, you had to give an absolute path to the repo, since we'd cd'd away from that directory before we started to validate the path. (check-in: e94621186f ... user: wyoung tags: trunk) | |
| 22:14 | Moved the setting of g.fJail flag into the repo = "/" case since it exists only to communicate the chroot status to --repolist mode. (This confirms the speculation in the prior commit's comment: the prior behavior existed to serve repolist mode only.) (check-in: 324d232c25 ... user: wyoung tags: trunk) | |
| 21:21 | Fixed the --chroot flag to "fossil server" and "fossil http" to allow it to work in conjunction with the single-repository case. Before, it blindly assumed --repolist mode. (check-in: 6f92ad99d9 ... user: wyoung tags: trunk) | |
|
2022-08-12
| ||
| 17:01 | Fixed pointless use of interwiki link in the new section 2.2 material of fossil-v-git. (check-in: 73c95307c9 ... user: wyoung tags: trunk) | |
|
2022-08-11
| ||
| 03:53 | Fix a build error introduced by check-in [fc8e5750d7]. (check-in: 49a2d1361f ... user: florian tags: trunk) | |
|
2022-08-10
| ||
| 06:03 | Merge fixes to the accordion panel JS script. (check-in: 44a7149dc7 ... user: florian tags: trunk) | |
| 06:02 | Record a comment on the findings discovered during repair of the accordion panel JS script. (closed check-in: 2fc93df48f ... user: florian tags: accordion-fix) | |
| 06:00 | Add the new subcommand `fossil branch lsh' to list the most recently modified branches. (check-in: fc8e5750d7 ... user: florian tags: trunk) | |
| 05:56 | Fix a compiler warning. (closed check-in: 877b237ba2 ... user: florian tags: ls-hot-branches) | |
|
2022-08-09
| ||
| 12:35 | Do not show information about the number of chat messages unless the user has read privilege on the chat. (check-in: ad0aac2fde ... user: drh tags: trunk) | |
|
2022-08-08
| ||
| 11:52 | /setup_config typo fix reported in forum post ec5bd222a2. (check-in: 6d5d5f0239 ... user: stephan tags: trunk) | |
|
2022-08-07
| ||
| 08:07 | Remove a construct to escape the JS compressor obsoleted by [ffa1c7d0a0]. (check-in: 0e7357d2fc ... user: florian tags: accordion-fix) | |
|
2022-08-06
| ||
| 22:13 | Fixed a few stray parens in the new material in the fossil-v-git doc, left behind from a prior edit. (check-in: ea13701cbf ... user: wyoung tags: trunk) | |
| 22:08 | Typo fix (check-in: b628a883b1 ... user: wyoung tags: trunk) | |
| 20:30 | Fixed a problem in image naming in the new Docker container doc in build.wiki reported on the forum. (check-in: 509447a2d7 ... user: wyoung tags: trunk) | |
| 19:56 | Did away with the temporary src.tar.gz file in the new Docker container by streaming the output of wget straight into tar's stdin. This cuts the build time by about five seconds, presumably due to the saving from unnecessary file I/O. Also replaced the explicit "cd src" afterward with an out-of-tree build configuration, since it doesn't matter if we clutter the first stage's /tmp dir. (check-in: 289c9b501c ... user: wyoung tags: trunk) | |
| 19:34 | The build docs for "./configure --static" now reference the section further down on Docker, since you may need to use this indirection to get --static to produce something suitable. (check-in: 7bfd741355 ... user: wyoung tags: trunk) | |
| 04:24 |
Replaced Jan Nijtman's Dockerfile with a new one that does a 2-stage
build. The first stage runs atop Alpine Linux instead of Fedora,
reducing the initial build from ~635 MiB to about 16.
Rather than stop there, I then made it multi-stage, copying two key static binaries — Fossil and Busybox — over from the first stage into a fresh-from-scratch container and set it up to run the former jailed away from the latter. The result is under 9 MiB, and it's as secure as one can hope, given that it starts up in "PUBLIC" mode. The new build doesn't have all the extra features turned on that the old one did, but it seems right to build the container with Fossil in its default configuration. If you want something else, copy the Dockerfile, hack it, and make it do what you want instead. Having done all this, I replaced the one-off Dockerfile inline in section 5.0 of the build doc with a reference to this new Dockerfile and rewrote the section in terms of the new capabilities. Finally, this lets us brag on how small the container can be, as compared to the Gitlab-CE container. Before, we were comparing a standalone binary to the container, which wan't entirely fair. (The desire to produce such a container was the spark that kicked this project off.) (check-in: 77d603c6a1 ... user: wyoung tags: trunk) | |
|
2022-08-05
| ||
| 12:05 | Assorted improvements to the first few sections of the fossil-v-git doc, mainly in updating them to track changes to world facts and to clarify the presentation. (check-in: c7afd68b94 ... user: wyoung tags: trunk) | |
| 10:18 | Remove some unnecessary `bind()' calls for variables already held in function closure. Apart from that, the approach seems to work well and also covers odd cases, such as the post-expansion timeout to clear maxHeight being shorter than the CSS animation duration (in which case the animation would just jerkily stop, but with the correct element height), or setting a short "decoy value" (say, "100px") instead of the real scrollHeight for maxHeight (in which case the animated area would just be smaller, but with the same end result). (check-in: 7b8dd9ca70 ... user: florian tags: accordion-fix) | |
| 05:23 | Attempt to fix the accordion for "Changes" sections: (A) "Delay-init" the maxHeight property only right before the closing animation, so that the dynamic diffs have enough time to resize themselves without any constraints, and then set maxHeight to zero to trigger the animation in idle time, to prevent coalescing the maxHeight changes (or there won't be an animation when going from "undefined" to "0"). (B) On expansion, after awaiting the animation duration, clear the maxHeight property, so browsers are again free to resize without any constraints. This is the same trick that works well for the hamburger menu, and fixes another problem with FF to return too small values for scrollHeight with large diffs, so that they would again be truncated (but the error is small enough so it doesn't matter for the animation). (check-in: 6c591c3ffa ... user: florian tags: accordion-fix) | |
|
2022-08-04
| ||
| 12:19 | Remove the accordion from the "Changes" division of the /vinfo page (at least temporarily) because it is cutting off the bottom of the diff. (check-in: 69a6f45387 ... user: drh tags: trunk) | |
|
2022-08-02
| ||
| 20:55 | Put all sections of the /vinfo page (or the /info page for a check-in) inside an accordion widget. (check-in: ab553393a1 ... user: drh tags: trunk) | |
| 10:27 | Refactor the `-h' option to its own `lsh' subcommand sibling to `list|ls' to reuse their infrastructure and flags. To produce useful output with the `-r' option, the SQL query to generate the branch list is LIMIT'ed in an inner query, and then ORDER'ed again in an outer query. (check-in: dbd6efe2d8 ... user: florian tags: ls-hot-branches) | |
| 00:45 | Corrected broken link introduced in the previous commit which works under (fossil ui) but not on the live server (due to the addition of another URI path element). (check-in: bf0efda706 ... user: stephan tags: trunk) | |
| 00:42 | doc index: added a link to the Release Build How-To wiki page, per forum request. (check-in: 9f3945fc09 ... user: stephan tags: trunk) | |
|
2022-07-31
| ||
| 10:47 | Add a new `-h' option to `fossil branch ls' to list the "hot" (first few recently modified) branches. (check-in: fe299ee400 ... user: florian tags: ls-hot-branches) | |
|
2022-07-30
| ||
| 20:33 | login-group command: corrected help text for 'join' option to include REPO and extended code to allow REPO to optionally be passed on as -R REPO. Resolves issue reported in forum post 240b6d856a3dd4b5. (check-in: 769a7651e4 ... user: stephan tags: trunk) | |
|
2022-07-29
| ||
| 19:03 | Fix the /alerts page so that access is provided even for users that are not logged in as long as a complete subscription code is provided as the "name" query parameter. (check-in: a27c908f5d ... user: drh tags: trunk) | |
| 18:57 | The /unsubscribe page now requests comformation. And so email notifications contain only an "Unsubscribe" link, and not a link to subscription management. (check-in: f045c5dd26 ... user: drh tags: trunk) | |
|
2022-07-28
| ||
| 18:59 | Consolidated some minor code drift between pikchr's fiddle and fossil's pikchrshow. (check-in: 44cd975392 ... user: stephan tags: trunk) | |
| 18:19 | Patch the javascript compressor so that it does not elide text after // if the // immediately follows a :, as that text might be part of a URI string literal. (check-in: ffa1c7d0a0 ... user: drh tags: trunk) | |
| 17:38 | Fix a build problem with zlib on Windows. (check-in: 8bd19cad63 ... user: drh tags: trunk) | |
| 17:06 | Update the built-in copy of zLib to version 1.2.12. (check-in: adb9e8e0bc ... user: drh tags: trunk) | |
| 15:38 | Corrected -DPIC to -fPIC in compaq/zlib/Makefile.in and filed upstream ticket for that change at https://github.com/madler/zlib/issues/684. (closed check-in: 368d97869b ... user: stephan tags: zlib-update) | |
| 15:23 | Latest upstream pikchr.c and pikchr.wasm. (check-in: d5ec3629bb ... user: stephan tags: trunk) | |
|
2022-07-27
| ||
| 14:16 | Add zlib1g-dev to the list of libraries needed for building. (check-in: 12ce928a9e ... user: danield tags: trunk) | |
|
2022-07-26
| ||
| 16:05 | auto.def: --with-zlib=tree now fails if compat/zlib is not configured and built in advance, resolving the curious problem that the downstream test for openssl fails if libz is not built. Problem discovered by Daniel D. and reported in /chat. (check-in: b0dc279205 ... user: stephan tags: trunk) | |
|
2022-07-25
| ||
| 16:47 | Corrected the --with-see build to use sqlite3-see.c. Problem reported in forum post b3653991172dcd14. The SEE build was broken by the late-December 2021 reworking of the --with-sqlite flag and its related build infrastructure. (check-in: 18acd94828 ... user: stephan tags: trunk) | |
|
2022-07-24
| ||
| 14:53 | Added --dry-run change to the change log. (check-in: 5960a16f9a ... user: stephan tags: trunk) | |
| 14:51 | Replaced the remaining --dryrun flags with --dry-run, for consistency, per discussion/monologue in forum post d732b4026f44bdba. (check-in: 4a720c2621 ... user: stephan tags: trunk) | |
|
2022-07-21
| ||
| 21:38 | Removed an unused var (compiler warning). (check-in: 7ca55e926c ... user: stephan tags: trunk) | |
| 20:00 | Revise the "fossil version -v" command to give less detail. Use -vv or -v -v to get the original full detail. (check-in: bbbd7ef8f5 ... user: drh tags: trunk) | |
| 16:11 | Updated changes.wiki and VERSION to 2.20. (check-in: a3bdee629d ... user: stephan tags: trunk) | |
| 16:10 | Version 2.19 (check-in: 1e131febd3 ... user: stephan tags: trunk, release, version-2.19) | |