The artifact hash prefix 215c is ambiguous and might mean any of the following:
215c34584f61fdb5f381749265dcdd483939a4967b306ffc40a2c9294f9a0d45 -
- File docs/rfcs/draft-fossil-sync-protocol-01.txt — part of check-in [44685f33b1] at 2026-10-12 18:45:05 on branch trunk — Fold the 23 errata into draft-fossil-{artifact-format,repo-state,sync-protocol}-01 (user: dmestas, size: 137459) [annotate] [blame] [check-ins using]
215ceb1de82a83c851801fef6c8bd86aa17d0cafc6530150f3d890f3ebb7400e -
- File
src/repoview.zig
— part of check-in
[37f746e59f]
at
2026-08-07 17:49:07
on branch sub-manifest
— repoview: name the artifact a failed derive rejected
'repository is corrupt' says a repository cannot be read, not what in it is unreadable -- and the walk that discovers it visits every artifact in the store, minutes on a large one. Whoever holds the broken repository was left bisecting it or attaching a debugger.
The derive now records which artifact it rejected and why; openRepo reports it, so every verb's open gets the name. Plain data, no allocation, so it survives the errdefer that tears down a half-built view. Repository.open clears it per attempt because callers declare a Repository undefined.
Also splits open's two identical diagnostics: deriving the view and reopening the log for materialization both printed the same line, which made a failure in one indistinguishable from the other. (#42) (user: dmestas, size: 58776) [annotate] [blame] [check-ins using]
- File
src/repoview.zig
— part of check-in
[37f746e59f]
at
2026-08-07 17:49:07
on branch sub-manifest
— repoview: name the artifact a failed derive rejected