50 descendants and 50 ancestors of 4900c770dd4477f8
|
2026-11-02
| ||
| 23:06 | zit runs on a size-class heap, so a block freed on one thread is reused on any, and an import's warm-up reuses what the import freed check-in: 3d0cc41587 user: dmestas tags: trunk | |
| 23:05 | A full derive keeps less of the history in memory: comments go to a mapped temp file, edges thread through the linkage rows, tag rows sit in a flat per-rid table with pooled values, users and comment offsets are dense arrays, and the image streams to the cache file check-in: 0212aeede4 user: dmestas tags: trunk | |
| 23:05 | advance's gates read a checkpoint's header, not its whole body, so a cold open no longer reads back the checkpoint it just wrote check-in: 05354a9331 user: dmestas tags: trunk | |
| 19:18 | A pushed sub-manifest setting needs Setup as well as Admin; a card refused for want of it refuses only itself, and the push's other settings and content still apply check-in: f859a3785a user: dmestas tags: trunk | |
| 19:18 | submanifests §6.3, sync-protocol §6.6: pushing the sub-manifest settings requires Setup, which the sync draft now defines; a card refused for want of it refuses only itself check-in: a8cc82f108 user: dmestas tags: trunk | |
| 15:27 | A client says the peer's repository is busy only for the 503 a zit server sends for a held lock, which now carries a body naming it; any other 503 gets the plain status line check-in: 752484c154 user: dmestas tags: trunk | |
|
2026-10-31
| ||
| 22:53 | The HTTP Basic e2e starts its gate through env, so a version manager's python3 shim on the test's PATH cannot leave it unstarted check-in: 6a506a547b user: dmestas tags: trunk | |
| 22:51 | Release 0.8.1 check-in: 9d84f49c50 user: dmestas tags: trunk, version-0.8.1 | |
| 22:51 | import-git exports a pull request's head only when a squash took it, names its commits pull/N and closes that branch; other pull request refs are ignored check-in: 69e5f1fa9f user: dmestas tags: trunk | |
| 20:36 | The reference names MODULE lines under status and points from import-git to zit modules sync check-in: ca1d50e160 user: dmestas tags: trunk, version-0.8.0 | |
| 20:34 | Release 0.8.0 check-in: a6ed4c0297 user: dmestas tags: trunk | |
| 19:45 | The tree diff walks both trees side by side, so it reports exactly the files that differ and reads only the sub-manifests on changed paths (libfossil's fsl__deck_tree_diff) check-in: 151b7da610 user: dmestas tags: trunk | |
| 19:08 | import-git --with-submodules imports each submodule beside DEST and pins zit check-ins; export-git maps zit lines back through the sibling's import map check-in: 3065c74d60 user: dmestas tags: trunk | |
| 18:28 | zit modules lists, syncs and pins the modules .zit-modules names, and status names a module off its pin check-in: 83a3a5d26e user: dmestas tags: trunk | |
| 17:37 | import-git records a squash-merged pull request as a cherry-pick of its refs/pull/N/head check-in: 4e9f6707aa user: dmestas tags: trunk | |
| 17:01 | import-git keeps submodule pins in a .zit-modules ledger and says how many it pinned; export-git writes them back as gitlinks check-in: e6b1d13019 user: dmestas tags: trunk | |
| 14:08 | Release notes for 0.7.5 cover served Git mirrors check-in: 796ac77e27 user: dmestas tags: trunk, version-0.7.5 | |
| 14:08 | The soak runs on its own runner check-in: 7e08f0d16f user: dmestas tags: trunk | |
| 14:07 | import-git --into and info --imported-head keep a map valid when a store gains clusters, wiki, tickets or tags; only a check-in or branch change the import did not write makes it stale check-in: 34e89fb1b8 user: dmestas tags: trunk | |
| 12:50 | Release 0.7.5 check-in: f01592ef81 user: dmestas tags: trunk | |
| 12:48 | Files a delta manifest inherits from its baseline no longer carry the baseline's rename markers check-in: 18a8118699 user: dmestas tags: trunk | |
| 12:48 | zit config pull, import, merge and export carry fossil's interwiki area, kept in the store as setting frames check-in: 3d3fed4bcd user: dmestas tags: trunk | |
| 12:48 | zit serve refuses a horizon pull for a held set it does not hold, and zit pull quotes the refusal check-in: c10bf5181f user: dmestas tags: trunk | |
| 00:04 | extras, add and clean stop at a nested zit or fossil checkout, as fossil does; naming the nested checkout itself still walks into it check-in: e31d220a2f user: dmestas tags: trunk | |
|
2026-10-30
| ||
| 22:59 | zit landing settles an open landing from the merge that took its branch into the target, so a branch merged from a clone with no reply can be proposed again check-in: 792ff466b4 user: dmestas tags: trunk | |
| 21:48 | zit serve answers reqconfig /config with one config card per setting, and a pushed config applies every card it carries check-in: 6c321ad721 user: dmestas tags: trunk | |
| 20:28 | import-git's verifier reads the witness and the import map back from staging a window at a time instead of holding them, and verify, publish and the cache warm-up report progress check-in: 46138f729e user: dmestas tags: trunk | |
| 12:08 | import-git takes a bare clone as its source check-in: dd7c4d4821 user: dmestas tags: trunk | |
| 10:53 | import-git keeps one record per blob and an array of marks, and the cache warm-up writes its body to the cache file as it builds it instead of holding it in memory check-in: 1a5946ad99 user: dmestas tags: trunk | |
|
2026-10-29
| ||
| 21:21 | import-git reads blobs on parallel readers, overlaps blob writes with the next commit, and warms the repository cache on the worker pool; worker memory is freed by the thread that allocated it check-in: cda137fdcc user: dmestas tags: trunk | |
| 09:07 | import-git remembers each filename's zbits and skips parsing leaves when pairing delta bases check-in: fb5110b6e7 user: dmestas tags: trunk | |
| 08:42 | import-git verifies on the worker pool: runs of whole delta trees sweep in parallel, check-ins and the repository view prefetch in bounded windows check-in: f291b36c4c user: dmestas tags: trunk | |
| 01:03 | import-git runs delta search and compression on worker threads; --threads N writes the same bytes for every N check-in: 10c18c133a user: dmestas tags: trunk | |
|
2026-10-28
| ||
| 22:12 | import-git: clear held-blob queue flags only when writing them fails check-in: 7800f5824f user: dmestas tags: trunk | |
| 21:52 | import-git writes the published store in one pass: blobs wait for the commit that names their path, tree nodes delta against the node they replace, mirror candidates go to a side store, and the verifier checks a name tally instead of a raw generation check-in: 3842bce3fc user: dmestas tags: trunk | |
| 21:52 | Horizon sweep: a generated merge that conflicts after criss-cross merges keeps the owner's later version check-in: 3d46cafc30 user: dmestas tags: trunk | |
| 19:20 | import-git: verify reconstructs only the drop set from the raw generation, and pack leaves the published sweep to the verifier check-in: 304f89d989 user: dmestas tags: trunk | |
| 19:16 | import-git: the tree editor keeps decoded nodes across commits, names each node once, and counts F cards without reparsing check-in: 7de9b7a047 user: dmestas tags: trunk | |
| 15:17 | Horizon clones state a held root as a held entry; dst names each seed before running it and the soak keeps a failed run's stderr check-in: bc6778450a user: dmestas tags: trunk | |
| 01:08 | import-git: stream the map into the verifier, one record at a time check-in: 10e65fa8e6 user: dmestas tags: trunk | |
|
2026-10-27
| ||
| 14:00 | Avoid caching incomplete sparse classifications check-in: 51badc03a9 user: dmestas tags: trunk | |
| 01:19 | Release 0.7.4 check-in: 77a57718ac user: dmestas tags: trunk, version-0.7.4 | |
|
2026-10-26
| ||
| 16:17 | Soak sweeps the horizon alone over 800 seeds past the DST's; dst takes a starting seed check-in: 39f58277b5 user: dmestas tags: trunk | |
| 16:10 | Structural horizon clones state their held entries so a shrinking leaves-rule K keeps what was served check-in: 1b26775768 user: dmestas tags: trunk | |
| 14:12 | import-git holds about 40% less per staged artifact: binary-keyed tables, inline store digests, provenance streamed to its file, and an import heap that reuses what it frees check-in: 2b13feb84d user: dmestas tags: trunk | |
| 13:47 | Smoke: a path-cone clone of a stock fossil server commits and pushes back intact check-in: 26e4bd730c user: dmestas tags: trunk | |
| 00:18 | Git export names a commit from synced history alone: the U login at the repository's synced email domain; an existing mirror keeps the rule it was built with check-in: f98a2ec97f user: dmestas tags: trunk | |
|
2026-10-25
| ||
| 21:08 | Release 0.7.3 check-in: f18e3cc041 user: dmestas tags: trunk, version-0.7.3 | |
| 20:34 | Horizon sweep: the commit after a cut pull picks its file from the clone's cone, so a whole-tree listing no longer fetches withheld nodes on the twin alone check-in: 7bc0c50b0a user: dmestas tags: trunk | |
| 17:29 | A push-only client asks for no content, as Fossil's does; the sync sweep expects a push to leave the client the phantoms it began with check-in: 81ccbcdc30 user: dmestas tags: trunk | |
| 16:01 | import-git takes the history Git stores: damaged identities read as Git reads them, far dates clamped, other encodings converted, bytes that are not UTF-8 kept, unsafe paths left out and counted; a refusal names its record and rule; 0.7.3 notes check-in: 4900c770dd user: dmestas tags: trunk | |
| 14:18 | import-git names a Git tag X as X and a branch by its branch alone; other refs become no tag; --into renames an older store's namespaced tags once check-in: 1b1c5d8430 user: dmestas tags: trunk | |
|
2026-10-24
| ||
| 18:49 | A seed is never dated earlier than the latest D its origin has minted, so a shunned tag never fails a clone's date floor check-in: 39546186f4 user: dmestas tags: trunk | |
| 15:31 | Release 0.7.2 check-in: 1dcb2d4a29 user: dmestas tags: trunk, version-0.7.2 | |
| 14:51 | import-git: a merged run no ref reaches takes the branch its merge names, closed when that branch is gone; a deleted head's tip is closed check-in: e2e4f17f48 user: dmestas tags: trunk | |
| 14:03 | A seed is dated at the latest tag event in the repository, so a cancel or a reopened branch never fails a clone's date floor check-in: caeef421ee user: dmestas tags: trunk | |
| 13:39 | zit info shows a horizon clone's horizon and history URL; a dropped seed is not asked for again check-in: 3555ad55ae user: dmestas tags: trunk | |
| 13:05 | A received seed is never stored; the draft states the receive rule; 0.7.2 notes check-in: 9df0c63ccb user: dmestas tags: trunk | |
| 13:05 | Harness: the round trip stops the server it started; smoke retries a server start on a fresh port check-in: d4572a038b user: dmestas tags: trunk | |
| 11:32 | Smoke: compare horizon fallback verifies without the log length, which depends on arrival order check-in: 1c4cd7a165 user: dmestas tags: trunk, version-0.7.1 | |
| 10:41 | Release 0.7.1 check-in: 00f15e2eff user: dmestas tags: trunk | |
| 04:12 | Horizons by name and depth; a labelled, bound seed an origin refuses on push; serve --horizon-url; 0.7.1 notes check-in: 236b7b4285 user: dmestas tags: trunk | |
|
2026-10-23
| ||
| 21:21 | Docs: the command reference covers horizons and cones; llms.txt and a fast-clone guide for CI and agents check-in: d2b3e6c376 user: dmestas tags: trunk | |
| 19:55 | Release 0.7.0 check-in: e723f5c4e2 user: dmestas tags: trunk, version-0.7.0 | |
| 19:43 | Tests: iterate the horizon refusal's work dir as a listable dir; the pack OOM walk refuses in-place growth check-in: 5413dfc01a user: dmestas tags: trunk | |
| 19:01 | Merge horizon-rfc: horizon clones, the Fossil horizon draft, streaming cone persist check-in: d00faba684 user: dmestas tags: trunk | |
| 18:43 | Path cones: skip the slot walk when every node is held; a streamed clone drops the out-of-cone bases an older origin sends leaf check-in: 8e906fdba2 user: dmestas tags: horizon-rfc | |
| 05:27 | Merge trunk 0.6.6: path-cone index, stacked merges, shun and pack on bare stores, sterilized Git fixtures, --use-author, forum edit check-in: ce16e4c1ca user: dmestas tags: horizon-rfc | |
| 02:32 | Release 0.6.6 check-in: b71756ae9f user: dmestas tags: trunk, version-0.6.6 | |
| 02:31 | import-git stores tracked files that parse as Fossil artifacts sterilized, as fossil commit does, and export-git strips the marker; --use-author records the Git author; pack takes -R on a bare store check-in: 2dd81018af user: dmestas tags: trunk | |
| 02:30 | Horizon seed: a state with no tag rows mints no seed and is served at the content level; choosing C's cost report is tool guidance check-in: 5d618aaeb1 user: dmestas tags: horizon-rfc | |
| 02:15 | Horizon clones from a filtering origin persist round by round, then classify over the log; the batched local filter stays for an origin that did not filter check-in: db1ffa3ce2 user: dmestas tags: horizon-rfc | |
| 01:24 | merge: stack merges as fossil does; the base is fossil's pivot over the pending merges and the commit records every merged parent check-in: be53dcc13b user: dmestas tags: trunk | |
| 00:58 | Horizon: deepen refuses without a known common ancestor, merge-base queries carry secondaries, a structural store falls back to content against a peer that cannot serve it, and parents of held baselines are boundary hashes check-in: 24457c7dd6 user: dmestas tags: horizon-rfc | |
| 00:39 | shun: work on a bare store with -R, and --porcelain reports one action per hash check-in: d46238a0df user: dmestas tags: trunk | |
|
2026-10-22
| ||
| 23:32 | Smoke: drive fossil's web UI through fossil http --localauth; some 2.28 builds drop the Referer in test-http check-in: 0976b8cbac user: dmestas tags: trunk, version-0.6.5 | |
| 23:08 | Release 0.6.5 check-in: 56cca49927 user: dmestas tags: trunk | |
| 22:59 | Content horizon cones: the origin withholds the tree nodes no slot reaches, walking only new trees; a cone clone classifies and persists through a bounded window; verify skips the path tracker under a horizon check-in: 3a2df62515 user: dmestas tags: horizon-rfc | |
| 22:51 | forum edit: write fossil's edit artifact (P names the newest version, empty W deletes); accept the empty H a deleted thread opener carries check-in: cd45d533a5 user: dmestas tags: trunk | |
| 22:11 | Sparse cones on large histories: an origin classifies a path cone from a persisted cone index, and a cone clone returns its received store before the cache warm; verify keeps tree names, not S runs check-in: e418b8e810 user: dmestas tags: trunk | |
| 20:20 | Cache warm after a clone derives in the log's own rid space when phantoms were interned ahead of later frames check-in: c7d811faa6 user: dmestas tags: horizon-rfc | |
| 19:43 | commit: a parent F card naming a SHA-1 blob is not looked up among the SHA3 captures check-in: 08d50aedb9 user: dmestas tags: trunk | |
| 17:08 | Whole-tree reads on a cone store fetch the tree nodes an origin withheld, or refuse naming the cone; a structural-closure pull keeps clear of the cone's sync cursor check-in: 84eb0bb9b6 user: dmestas tags: horizon-rfc | |
| 15:21 | Horizon cold start: a fresh server answers a classified cone from its sidecar, opens through the log index, and builds the graph without reconstructing delta blobs; plaintext cache eviction stays O(1); inflate keeps its window on the stack check-in: 736b031536 user: dmestas tags: horizon-rfc | |
| 15:11 | Horizon seed: date D at the latest summarized tag event rounded up to a whole second check-in: 71b208ba04 user: dmestas tags: horizon-rfc | |
| 12:28 | Smoke: a horizon clone pulling from stock fossil receives a check-in announced only inside a cluster check-in: b612d82070 user: dmestas tags: horizon-rfc | |
| 11:31 | Horizon clones request what a stock Fossil origin's clusters name, and classify it on arrival check-in: 9bf7ebfe0f user: dmestas tags: horizon-rfc | |
| 02:51 | Horizon cone clones: serve the tree nodes the cone reaches, keep the repository open across rounds, recompress cut deltas fast; open names the sparse cone when nodes are withheld check-in: 2b635ea5ce user: dmestas tags: horizon-rfc | |
|
2026-10-21
| ||
| 23:59 | Merge trunk: elided absent sub-manifest nodes under horizons, pack hints for absent nodes, 0.6.4; horizon leaves rule over childless check-ins check-in: bbd1435674 user: dmestas tags: horizon-rfc | |
| 22:41 | Horizon clones: older releases refuse them, interop with stock Fossil, oracle-checked pull, deepen, seed and leaves rule, and fail-closed crossing operations check-in: 5be6fcc866 user: dmestas tags: horizon-rfc | |
| 20:20 | Release 0.6.4 check-in: dba73d6e2e user: dmestas tags: trunk, version-0.6.4 | |
| 20:11 | pack: an S card naming a sub-manifest the store lacks gives no delta hints instead of aborting, so imports of files that are check-in manifests complete check-in: d719b0b362 user: dmestas tags: trunk | |
| 19:34 | sparse cone: absent sub-manifest nodes whose key slots cannot reach the cone are elided, not missing; clone, pull, open, update and status walk only the cone check-in: 73f965c213 user: dmestas tags: trunk | |
| 15:38 | Merge trunk: sparse-cone dense-inventory cost clarification check-in: e6ee276c89 user: dmestas tags: horizon-rfc | |
| 15:37 | sparse-cone: a dense pull inventory can cost the out-of-cone blobs of check-ins it announces alongside check-in: 1709405cc6 user: dmestas tags: trunk | |
| 14:28 | Merge trunk: 0.6.3, incremental import exclusions, sparse-cone inventory clarification check-in: a5741263ab user: dmestas tags: horizon-rfc | |
| 13:41 | Release 0.6.3 check-in: 2a4ab3a46c user: dmestas tags: trunk, version-0.6.3 | |
| 13:36 | sparse-cone: the per-round bound covers the tree walk, not the pull inventory check-in: 9f594ca0b8 user: dmestas tags: trunk | |
| 13:27 | import-git --into: exclude every known commit, not only recorded tips, so a fresh source after a force-push or branch deletion adds only new commits check-in: da6116a216 user: dmestas tags: trunk | |
| 12:58 | Merge trunk: cone-served acknowledgement, empty-cone refusal, structural retention on compaction check-in: fa4b9ea2f0 user: dmestas tags: horizon-rfc | |
| 12:35 | sparse-cone: acknowledge applied cones with pragma cone-served; refuse empty cones; keep structural nodes on compaction check-in: 800e10e9c2 user: dmestas tags: trunk | |