Skip to content
zit Check-in [187ad81e8c]
Login

Check-in [187ad81e8c]

Overview
Comment:merge sparse-cone: classify paths against the cone and name the deciding member (#79)
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 187ad81e8c086eb04bdb6eae28f843627acaea5e98044499882c53bf87e5e205
User & Date: dmestas on 2026-08-17 11:06:18.822
Other Links: manifest | tags
Context
2026-08-17
13:33
merge quarry-support: ls --long and log --long (#96, #93) check-in: 15fa309b01 user: dmestas tags: trunk
13:27
ls --long and log --long: one invocation answers a page (#96, #93)

ls --long adds size, the F card's permission token, and text/binary. The permission is the fact no other verb can supply -- it lives in the manifest, and the blob it names does not know it is executable -- so a listing could not mark executables and mis-rendered symlinks. --under bounds the listing to one directory, which is also what makes --long's per-file content read affordable.

log --long adds each check-in's timestamp, user and comment. log CHECKIN PATH already selected the check-ins touching PATH; emitting only hashes meant a file-history page cost a subprocess per row.

Both are opt-in; the default outputs are byte-identical. A blob the store cannot produce reports 'absent' rather than a zero-byte text file. closed check-in: f01eb5b6a0 user: dmestas tags: quarry-support

11:06
merge sparse-cone: classify paths against the cone and name the deciding member (#79) check-in: 187ad81e8c user: dmestas tags: trunk
01:05
cone test: classify paths against the cone and name the deciding member (#79)

Longest match across both polarities decides coverage, so the verdict alone cannot say why a file is missing. The member prints bare so it pastes into zit cone remove. Exits 0 when every path is covered, 1 when any is elided. closed check-in: 3cb62134a3 user: dmestas tags: sparse-cone

2026-08-16
21:47
binary-glob and crlf-glob: declarative content policy (#81)

Both are opt-in: an unset glob is no opinion, not refuse-everything, so a repository that never set one commits exactly as before. Set binary-glob to *.png and PNGs are the binaries the project expects, so a stray .o is refused. Neither runs code, so unlike before-commit they bind a fresh clone with no consent step -- that asymmetry is why they exist.

The check gates what a commit INTRODUCES: an all-files commit re-captures every managed path, so classifying unchanged content would make declaring a glob block every later commit until the whole tree already conformed. Comparing against the parent's blob grandfathers inherited files, per content rather than per path, so editing one re-checks it.

--no-checks waives it, the same flag that waives before-commit. check-in: 2711adbb03 user: dmestas tags: trunk

Changes