Artifact 75df445c6d580356453f4eccb41c79f2f22625a5383b2f254a9f206022f99c0d:
- File
src/cli.zig
-
2026-08-26 16:14:20
— part of check-in
[63ec7d6dc8]
on branch serve-protected-branches
— serve: refuse membership changes to protected branches, per request, from a trusted front
A front that authenticates every push knows who is pushing; the store knows which branch a pushed check-in resolves to. The front sends only the rule -- X-Zit-Protect, a glob list -- and zit serve --fronted refuses the whole round when a check-in would join one of those branches or a tag would move a held check-in in or out of one. Same error card as a content-policy refusal, so a stock fossil client reads it.
Without --fronted the header is ignored and the server is unchanged. Nothing new on the wire or in the repository. Resolution is crosslink's own, through the fast-read image, which maintain keeps warm between connections. A parent not yet held is admitted: it is judged on arrival. Resolver faults fail closed. Issue #151. (user: dmestas, size: 327145) [annotate] [blame] [check-ins using]
- 2026-08-26 19:43:30 — part of check-in [d46cb9a855] on branch trunk — merge serve-protected-branches: per-request branch protection behind a trusted front (#151) (user: dmestas, size: 327145) [annotate] [blame] [check-ins using]
-
2026-08-26 16:14:20
— part of check-in
[63ec7d6dc8]
on branch serve-protected-branches
— serve: refuse membership changes to protected branches, per request, from a trusted front