Skip to content
zit Artifact [7c968ab247]
Login

Artifact [7c968ab247]

Artifact 7c968ab247ad1194f9163e625a37452ae72bdc23f3e66e8ea26b39f6e0a52914:


zit 0.1.2

zit 0.1.2 is a correctness release over 0.1.1. It keeps the same Fossil RFC revision-00 scope. Two defects made zit unusable against a repository of real size and real history; both are fixed, and between them they were the reason a clone of the canonical Fossil repository could be fetched but not used.

Highlights

Serving a large repository

Two costs made a clone cost work proportional to rounds times store size. The walk that announces held content classified each artifact by materializing its plaintext, so announcing a store cost that store's uncompressed size on every round; it now answers from the retained form. The served snapshot was rebuilt from the log on every request; it is now cached and rebuilt only when the log grows, which keeps a commit made alongside a live server visible on the next request while keeping the rebuild out of any client's budget.

Past a few thousand artifacts, a single round previously outran the connection deadline and the server answered nothing at all. A clone of the canonical Fossil repository — 67,499 artifacts — now completes in 67 rounds.

Artifacts this implementation declines to classify

A conforming repository contains artifacts a conforming parser rejects. The artifact grammar requires the U card on a wiki artifact; Fossil elides that card when the submitter is nobody, then stores and synchronizes the result. Instances exist in the canonical Fossil repository.

Assembly previously rejected an entire repository over one such artifact, while timeline, ls, info and branch read the same store correctly. The two conditions are now separated by the artifact's name: bytes that hash to the name they are stored under were stored correctly, so the artifact is opaque to repository state and contributes nothing to it; bytes that do not hash to their name remain an integrity failure and remain fatal.

This behavior is recorded as a clarification against the Repository State draft, which did not previously say what assembly does with an artifact classification rejects.

Verification against Fossil

On a clone of the canonical Fossil repository, zit update previously exited 1 having materialized nothing. It now materializes all 983 files of the check-in, each byte-identical to Fossil's own checkout of that same check-in.

Qualification

Each published native binary is built from the same checksum-pinned source archive with Zig 0.16.0 in ReleaseSafe mode. The platform battery comprises:

The release manifest records the exact artifact checksums, the source identity, and the qualification actually performed for each target.

Compatibility

The command-line version string is:

zit 0.1.2 (targets Fossil RFC rev 00)

The feature scope and deliberate limitations remain those documented for 0.1.0. No repository written by 0.1.1 needs conversion.