Skip to content
zit Artifact [c7ee5bf5eb]
Login

Artifact [c7ee5bf5eb]

Artifact c7ee5bf5ebe27b958c0e33bc7fe3c6ca84c13e5e1e1aa5089fe4b09bc62f6ca7:


# zit 0.14.3

zit 0.14.3 makes `import-git` spend far less CPU on large histories, fixes
its progress total, and makes `submanifest show` cheap on large stores.

This release is from trunk. Stores, caches and the wire are unchanged from
0.14.2; nothing is rebuilt on upgrade.

## import-git

- **Deltas against one source first.** Each artifact the import stores was
  delta-encoded against its likely source and up to four neighbouring
  artifacts, and the smallest delta was kept. Neighbours that share little
  with the artifact make the delta search scan it byte by byte, and on a
  large history that was most of the import's CPU. Each artifact is now
  encoded against its likely source alone, as Fossil's import does, and the
  neighbours are tried only when that delta is not small enough. On a
  37,000-commit history, user CPU fell by 42% and the store grew by 0.13%.
  Wall time gains less, because other stages now set the pace. `pack` keeps
  the full search.
- **The progress total counts what is imported.** The total counted the
  commits reachable from the branches and tags but not the pull-request
  heads the import also takes, so on a repository with many merged pull
  requests progress ran past 100%. It now counts the same refs the import
  exports. The later `verifying N/M commits` lines are a separate stage with
  their own count.

## submanifest show

`zit submanifest show` read the whole store to answer one setting. It now
reads the store's saved log index, as `info` does, and builds the index once
when there is none, so later calls answer at once.

## Qualification

The release manifest records native qualification against the exact tagged
source archive on macOS ARM64, Linux x86-64 and Linux ARM64, using the pinned
Zig 0.17.0 toolchain. Publication is gated on unit and end-to-end tests, Git
differentials, deterministic simulation, seeded fuzzing, and Fossil
interoperability checks on every distributed target.

For the basis of the conformance claim, see
[the 0.1.0 release notes](RELEASE-NOTES-0.1.0.md).