Skip to content
zit Timeline
Login

Timeline

6 descendants and 50 ancestors of 2199ee2ef32c4779

2026-11-05
13:19
A sender answers a gimme or uploads an artifact it stores as a delta in Fossil's delta form, sending the stored delta when its basis is held, unshunned, in the requester's cone and readable by the peer, so a pull of a few one-file check-ins moves kilobytes leaf check-in: d8cc78e946 user: dmestas tags: trunk
10:37
Sync, pull and a server taking a push store an artifact received whole as a delta, a check-in against its parent, so receiving a one-file check-in costs about what the sender paid instead of a full manifest check-in: 863ba33f03 user: dmestas tags: trunk
09:31
A flat manifest is stored as a delta of its skip base, the ancestor at its height with the lowest set bit cleared, so a chain is popcount(height) deep and no commit stores a whole manifest; pack keeps the structure. Skip deltas after Subversion (Greg Hudson) check-in: bed8346191 user: dmestas tags: trunk
02:23
log CHECKIN PATH and annotate follow renames, continuing under the old name below the check-in that recorded one, with --no-follow for the name-literal view; crosslink adds a rename line and log -F json names each row check-in: dc3fb3ca95 user: dmestas tags: trunk
00:47
commit -R STORE --stdin PATH records one file's bytes from stdin as a check-in with no checkout of the caller's, holding the store's lock throughout so concurrent writers land in order; unchanged bytes exit 3 check-in: fd764eed5e user: dmestas tags: trunk
2026-11-04
23:45
The cache carries a checksum of its image alone, so an open checks what it reads instead of the whole cache, and the record body is read through a mapping instead of copied onto the heap check-in: e9027611fe user: dmestas tags: trunk
23:04
A sparse cone can carry the parents property (--cone-parents): the root's files and the files directly in each parent directory of a member are covered too, so a narrow cone is navigable; the sparse-cone draft states the rule and its cone-parents pragma check-in: 2199ee2ef3 user: dmestas tags: trunk
21:15
log CHECKIN PATH and diff between check-ins take -F json, in Fossil's field names, so an application reads a file's history and a two-version diff without parsing text check-in: 49bd94f30d user: dmestas tags: trunk
20:15
Persist stores a received delta whose basis is not memoised as it arrived, and checks every such delta before the commit by walking each delta tree once, so a large clone no longer rebuilds each artifact through its whole chain check-in: d8c302d1ab user: dmestas tags: trunk
19:50
import-git --into opens the destination's log through its persisted scan index, so a long history is not walked frame header by frame header before the import starts check-in: fec7b411d2 user: dmestas tags: trunk
19:32
import-git --into checks a mapped check-in by lookup when the map's inventory hash already proves the store holds what the import wrote, instead of reading every check-in back through its delta chain check-in: 88fdaf41b7 user: dmestas tags: trunk
18:19
A horizon clone's classification is saved with the unfetched file versions its kept manifests cite, by name, so a no-op sync resumes from it instead of classifying the whole store again check-in: e76d97937a user: dmestas tags: trunk
17:35
revert with no paths finds what changed first, as status does, and restores and journals only that, looking files up in a check-in parsed once, so discarding one edit on a large tree no longer reads every file check-in: 194b70bd59 user: dmestas tags: trunk
16:01
The horizon draft says a tied candidate that another descends from through any parent is dropped, merge parents included check-in: b09ee3ed91 user: dmestas tags: trunk
15:52
zit init --submanifest K starts a repository with sub-manifests on and k pinned, so a tree that will grow wide is a tree from its first check-in check-in: 1fbc90c725 user: dmestas tags: trunk
14:29
File reads and writes move at most 1 GiB per call, so on macOS a store whose cache passes 2 GiB resumes from it instead of re-deriving the whole history check-in: 3d4b8d295c user: dmestas tags: trunk
14:08
zit serve --read-only refuses every push while serving clones and pulls check-in: a7f4801ca7 user: dmestas tags: trunk
13:37
A horizon name breaks an mtime tie by ancestry before the lowest hash, as update does, so a branch committed within one clock tick resolves to its tip; the horizon draft says so check-in: f3b027880e user: dmestas tags: trunk
13:13
repo-cksum is off unless turned on, so a commit no longer reads every blob of the tree for the R card and a one-file commit costs what changed check-in: f19829119c user: dmestas tags: trunk
11:36
diff refuses a version whose content is not in the store, shunned, purged or not received, instead of showing the file emptied check-in: e31d231096 user: dmestas tags: trunk
11:30
A horizon clone's sync advances its delivered cursor only by what it received, and a stored cursor past the end of the log is ignored, so check-ins committed after the first sync reach the origin check-in: 4b3c7cadd6 user: dmestas tags: trunk
11:23
A commit refuses to publish when another commit moved its checkout while it was being prepared, and checks the fork guard against the parent it was prepared on, so two commits in one checkout no longer fork the branch check-in: 1e76491a72 user: dmestas tags: trunk
2026-11-03
01:24
A release waits for ci to pass on its tagged commit instead of re-running the Debug battery, and smokes the ReleaseFast build it ships check-in: 5dd2d6edb6 user: dmestas tags: trunk
01:17
CI runs the Git differential, simulation, smoke and muscle lanes side by side through one zig build lanes step check-in: bf178c424a user: dmestas tags: trunk
00:26
Unit tests and e2e tests each run as four processes serving every fourth test, through Zig's test runner vendored with a --shard flag, so the suites use a runner's cores check-in: afd89f5a17 user: dmestas tags: trunk
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