Skip to content
zit Check-in [dbb2735bff]
Login

Check-in [dbb2735bff]

Overview
Comment:Merge recover-inflight: root-URL sync serving + the log one-verb surface

Two independent slices recovered from an interrupted session, each gated green.

- Sync now dispatches on method + Content-Type at any URL path (§4 L759-764), so a stock 'fossil clone http://host:port/' at the bare root interoperates; the /xfer-only requirement and its 404 are gone. - 'zit log' is reduced to the signed one-verb surface: one check-in ID, help only, no -n windowing; usage errors exit 2, a bad ID exits 1.

Unit + e2e (209/209) green; fmt clean; dst 6x1000 ok.

Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: dbb2735bffa060cb70edc0b4b1f1275301988992c003805441846f2560940769
User & Date: dmestas on 2026-07-17 15:20:52.024
Other Links: manifest | tags
Context
2026-07-17
22:08
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. check-in: 89ef496c3b user: dmestas tags: trunk

16:34
Create new branch named "storage" check-in: 9478fe4fb7 user: dmestas tags: storage
15:58
Create new branch named "next-verbs" check-in: cd5b6e94ed user: dmestas tags: next-verbs
15:20
Merge recover-inflight: root-URL sync serving + the log one-verb surface

Two independent slices recovered from an interrupted session, each gated green.

- Sync now dispatches on method + Content-Type at any URL path (§4 L759-764), so a stock 'fossil clone http://host:port/' at the bare root interoperates; the /xfer-only requirement and its 404 are gone. - 'zit log' is reduced to the signed one-verb surface: one check-in ID, help only, no -n windowing; usage errors exit 2, a bad ID exits 1.

Unit + e2e (209/209) green; fmt clean; dst 6x1000 ok. check-in: dbb2735bff user: dmestas tags: trunk

15:17
Reduce 'zit log' to the signed one-verb surface (drop -n windowing)

'zit log' carried a -n K windowed-log flag: an extra grammar mode (a state machine with a positional-only '--' separator and a -n value token in either order) and a bad_count offense, for a bound no other query verb exposes. Its sibling 'update' already documents the target shape — one full check-in ID, help only, no windowing.

Collapse log onto that same one-positional grammar. parseLogArgs is now the plain scan parseUpdateArgs uses: -h/--help wins; -n, --all, and a bare '--' are all unknown options (log has no positional-only separator); a second positional is an extra argument. Drop LogArgs.count, the bad_count variant, parseLogCount, and walkLog's max_count / window early-exit — the ancestry walk is unconditionally unbounded again.

Usage errors (missing check-in, unknown option, extra argument) now exit 2 via cli.usageError; a well-formed-but-non-canonical ID stays a validation failure at exit 1. Help and 'zit help log' print the trimmed single-verb text. Net -110 lines. Unit + e2e (209/209) green; fmt clean; dst 6x1000 ok. closed check-in: 0973cf7e9e user: dmestas tags: recover-inflight

13:46
Merge clone-w4: skip the receive-side inflate for full-form clone content, cutting clone peak RSS ~13% (651 -> 568 MB). Reconciles held()/content() across the pull .raw basis and push upload paths so a corrupt wire-backed container degrades gracefully instead of tripping an unreachable. 1538 tests pass; fossil interop smoke green. check-in: 19af0f2de7 user: dmestas tags: trunk
Changes