Skip to content
go-libfossil Check-in [9abc4bbac2]
Login

Check-in [9abc4bbac2]

Overview
Comment:test(sync): log each round of a corpus clone
Timelines: family | ancestors | descendants | both | trunk | feat/horizon-cones
Files: files | file ages | folders
SHA3-256: 9abc4bbac2afb5860a4803df7e6cc39ec857aa5c38b191bd1ddc36aafbf7ca28
User & Date: [email protected] on 2026-10-23 13:58:00.000
Other Links: branch diff | manifest | tags
Context
2026-10-23
15:11
fix(manifest): publish a sparse check-in's spine against an absent source

A sparse store published no event or plink rows for a check-in while a P or Q source of it was absent, unless a structural horizon held it below. A source can be absent for good: fossil-scm.org's repository lacks the parents of five check-ins, which a dense clone links against phantoms, so a cone or content clone of it failed repo verify on them.

SparseCheckinReady no longer requires an absent source's file set: the check-in's spine is published against the phantom, as a dense store publishes it, and its orphan row keeps mlink derivation waiting until the source arrives. check-in: 69f3048e67 user: [email protected] tags: feat/horizon-cones, trunk

13:58
test(sync): log each round of a corpus clone check-in: 9abc4bbac2 user: [email protected] tags: feat/horizon-cones, trunk
13:57
fix(serve): charge a walked-past clone row what a dense round would

A cone-aware clone charged each row it walked past at its expanded size, while a dense round charges the bytes it sends, a row's stored delta. A sparse round of fossil-scm.org's repository covered a hundredth of a dense round's rows and the clone ran out of rounds. SC-6.2-1 bounds the walk as a dense clone bounds its batches, so a walked-past row is now charged its stored size, read from the four-byte prefix of blob.content without inflating it. check-in: 835557d4b1 user: [email protected] tags: feat/horizon-cones, trunk

Changes