Artifact 0645afa55d528f74e6cd1c84fc49568fff8c9c55956db30d48c4390f7a142599:
- File
src/repostate_test.zig
-
2026-07-18 14:22:23
— part of check-in
[343d41b2f3]
on branch cli
— Add the bisect command: DAG binary search for a defect-introducing check-in
zit bisect bad NAME | good NAME | next | status | reset. Marking bad/good moves the checkout to the next probe automatically (fossil parity); next re-announces it; reset restores. The candidate set (full-ancestry ancestors of bad minus the good ancestor-sets minus skipped), the lower-median probe by ascending event-mtime with hash tiebreak, and the culprit are ONE general-purpose repostate query RepoState.bisectSpan, composed from collectAncestors / mergeBaseOf / isAncestorOf / mtimeOf / hashOf per the RESOLVED bisect-midpoint rule (repo-state 2/3.2/3.3/8.3) — the CLI never walks ancestry. Bisection state is checkout-local in .zit-bisect on the undo.zig state-file tier (atomic write + fsync, magic/CRC frame, corrupt -> exit 1), in the never-tracked/extras set; probe/culprit/reset moves go through the journal-armed update.applyCheckin behind requireCleanTree. Refusals (inverted marks, unrelated histories) exit 1. 1661 unit + 339 e2e green; fmt clean. (user: dmestas, size: 70672) [annotate] [blame] [check-ins using]
-
2026-07-18 17:08:10
— part of check-in
[e5fffafdb8]
on branch trunk
— Merge cli: the cli-verbs-2 survey slice — seven new verbs
Lands amend, artifact, bisect, log PATH, annotate, merge --cherrypick/--backout, and addremove — the VCS-verb-survey recommendations — onto trunk, already integrated with the storage branch's pack re-deltification.
- amend: mint display-metadata T cards, never rewrite history (also corrects the git-reflex table's wrong immutability lesson). - artifact: the plumbing window (whatis + raw dump) over the one parser. - bisect: DAG binary search (bad/good/next/status/reset), state in .zit-bisect. - log PATH: per-file history folded into log (fossil finfo). - annotate: per-line provenance; the version chain is ordered by TOPOLOGY (matching fossil's generation walk), not mtime, so a parent is never misattributed to its child on a timestamp collision. - merge --cherrypick/--backout: alternate-baseline special merges recording a 4.7.14 Q card, rendered by info; the plain merge surface is byte-identical. - addremove: one sweep, add every extra and drop every missing.
Built decomposed (focused implementers + adversarial review) after the monolithic workflow thrashed on API instability. 1678 unit + 376 e2e + dst 6x1000 green. (user: dmestas, size: 70672) [annotate] [blame] [check-ins using]
- 2026-07-18 17:12:54 — part of check-in [09748596dc] on branch storage — Merge trunk into storage: bring in the converged trunk (storage pack work + the cli verb slice — annotate, bisect, extras, merge3, undo, cherrypick/backout) so the dict lever (§2.2 preset-dictionary compression) builds on current state. (user: dmestas, size: 70672) [annotate] [blame] [check-ins using]
-
2026-07-18 14:22:23
— part of check-in
[343d41b2f3]
on branch cli
— Add the bisect command: DAG binary search for a defect-introducing check-in