Skip to content
zit Check-in [b4893b3fee]
Login

Check-in [b4893b3fee]

Overview
Comment:merge empty-trailing-token: C and J accept an empty trailing token (#86)
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: b4893b3fee62e06dca6f5d3589901d537516b0f0e19531845710f785442042b3
User & Date: dmestas on 2026-08-16 18:45:54.232
Other Links: manifest | tags
Context
2026-08-16
18:57
settings: keep-glob, manifest, before-commit consent, config pull (#82, #83)

keep-glob protects files clean must never delete while extras still lists them; manifest becomes a project setting driving build stamps. Both resolve across the tier chain, so a tracked .zit-settings file clones with the code.

before-commit splits declaration from consent (#82): the project ships the check as a tracked file, zit trust records the SHA-256 this checkout agreed to run. Cloning executes nothing, and an edit revokes consent by itself because the record pins content, not a flag. Non-zero exit aborts before anything is minted.

zit config pull shun is fossil's explicit request side; carriage stays clone-time otherwise so no peer can suppress content here on its own say-so.

Storage gains one keyed-string block: unknown keys are skipped by length, so the next string setting needs a key rather than another shape tag. Existing frames are unchanged.

clean-glob is deliberately absent: it means never-prompt and no-undo, which zit clean already is. check-in: 998dbf9d43 user: dmestas tags: trunk

18:45
merge empty-trailing-token: C and J accept an empty trailing token (#86) check-in: b4893b3fee user: dmestas tags: trunk
18:30
C and J accept an empty trailing token (#86)

Fossil distinguishes an absent token from an empty one positionally: `C` LF has none and is rejected, `C` SP LF has one empty token and is a present, empty comment. zit implemented §4.2's `token = 1*tchar` literally and rejected the empty form on C and J, which drops the whole artifact — every ticket change with an empty field, every check-in with an empty comment. T and U were already right.

Two tests asserted the old behaviour and now assert the corrected one; a third pins the writer, since --submanifest re-mints every manifest. The RFC text is unchanged; docs/rfcs/erratum/ carries the correction. closed check-in: 5ccb138e6d user: dmestas tags: empty-trailing-token

18:04
settings: hazard-tiered model with a global tier and provenance (#83) check-in: 6677853a3d user: dmestas tags: trunk
Changes