Skip to content
zit Ambiguous Artifact ID
Login

Ambiguous Artifact ID

The artifact hash prefix 22c2 is ambiguous and might mean any of the following:

  1. 22c24bbea4b5fa79879c984b8208e6b0b17b4837977ac36b79821648a4f900bd -

    • File src/merge3.zig — part of check-in [f774a1a2a7] at 2026-07-18 15:17:48 on branch cli — Add the annotate command: per-line provenance over the version chain

      zit annotate PATH — which check-in introduced each line of one tracked file at the current checkout, and when. One canonical spelling (no blame/praise). The engine walks the file's full-ancestry version chain (repostate.ancestorsOf, the same 3.3 walk merge-base/bisect use; per-version content via Repository.fileAt, the one 8 effective-set query), diffs adjacent versions with the one house line-diff core (merge3.matchLines), and pushes each line's origin back to the OLDEST version carrying it. Across a merge, a line in ANY parent side is charged to that parent (primary first, repo-state 3.2), never to the merge; the merge is charged only for lines in no parent version. Output: 10-char hash, ISO date from event mtime, the line verbatim; a binary file refuses exit 1. Reviewed adversarially (merge attribution hand-traced correct). 1673 unit + 352 e2e green. (user: dmestas, size: 28514) [annotate] [blame] [check-ins using] [more...]

  2. 22c296843fd0ad96746d257eb676e1f89b8d53a7bb04e6224a357971f2e677a5 -

    • File src/cmd/history.zig — part of check-in [09fa1a7fb3] at 2026-09-01 23:10:42 on branch trunk — timeline reads no manifest for what the state answers; count the reads that remain

      The default-format timeline inflated a manifest per row — the fetch condition still said 'a.format != .oneline' from when oneline was the default, so zit#170's medium default made every row read one for two strings the image now carries. 66.5s to 0.37s for the full SQLite timeline, output identical.

      Repository.manifest counts its reads (ZIT_MANIFEST_READS=1 reports on exit), and an e2e runs ten listings over two history sizes and requires identical counts — a per-row reader fails by construction, no timing, no constants.

      zit#172 (user: dmestas, size: 163518) [annotate] [blame] [check-ins using]