Artifact 59e8773c8103eaa1a6e5bfd88386674ceae0aba85aab686365a724f23bd2db6c:
- File
src/update.zig
- 2026-07-17 21:12:57 — part of check-in [14789e1409] on branch next-verbs — Add the undo and redo commands, journaling each sheltered mutator's pre-image into .zit-undo before its first working-file byte moves so undo restores the last update or revert byte-for-byte and redo reapplies it, keeping one undo slot and one redo slot for fossil-parity single-level undo per contract B-undo-1..21 and fsyncing the journal ahead of the mutation for the B-commit-15 checkout-layer durability order. (user: dmestas, size: 64004) [annotate] [blame] [check-ins using]
-
2026-07-17 22:08:50
— part of check-in
[89ef496c3b]
on branch trunk
— Merge next-verbs: timeline, mv, and undo/redo
Three checkout-and-history CLI verbs, each built to its B-verb contract and RFC oracle, each gated green (unit + e2e) before commit:
- timeline: list every check-in newest-first by event.mtime with an ascending full-hash tiebreak (repo-state §2, §8.3 item 7), merge check-ins marked M (§3.2), each on its branch with the configured main-branch fallback (§6.1/§6.4). - mv OLD NEW: rename a tracked file, moving it on disk and swapping the managed entry atomically; refuses (exit 1) an untracked OLD, an existing/tracked NEW, or a self-move; the rename records a one-shot NEW three-token on the next commit. - undo / redo: journal each sheltered mutation's pre-image (fsynced before the mutation) so update/revert are reversible; a corrupt or empty journal is a clean exit 1 with no partial restore.
Slice partial: extras, clean, and merge were not completed this run. Full unit + e2e green on the merged trunk. (user: dmestas, size: 64004) [annotate] [blame] [check-ins using]