Skip to content
go-libfossil Check-in [27b8439777]
Login

Check-in [27b8439777]

Overview
Comment:Merge branch 'wip/horizon-sync' into feat/horizon-cones

A content-horizon store against any peer: below-horizon blobs it is sent are recorded as elided rather than stored, it holds and requests no cluster, and a below-horizon blob an operation needs is fetched on demand.

Timelines: family | ancestors | descendants | both | trunk | feat/horizon-cones
Files: files | file ages | folders
SHA3-256: 27b84397771662df32543561d3e2dc83855dc41a99ff1599e7fe310f16e69308
User & Date: [email protected] on 2026-10-22 11:19:37.000
Other Links: branch diff | manifest | tags
Context
2026-10-22
11:20
docs(changelog): the content horizon in stores and sync check-in: bf99482411 user: [email protected] tags: feat/horizon-cones, trunk
11:19
Merge branch 'wip/horizon-sync' into feat/horizon-cones

A content-horizon store against any peer: below-horizon blobs it is sent are recorded as elided rather than stored, it holds and requests no cluster, and a below-horizon blob an operation needs is fetched on demand. check-in: 27b8439777 user: [email protected] tags: feat/horizon-cones, trunk

11:18
feat(sync): classify horizon stores locally against dense peers

No peer speaks the horizon pragmas yet, so a content-horizon store receives whatever a dense peer sends (draft-fossil-horizon-00 §6.3). The received-content filter now applies the horizon's classification, read from internal/content rather than re-derived: blobs below the horizon become elided phantoms and are counted in the result's Elided. Blobs no held manifest names yet stay as unreferenced holdings, and retained delta bases stay transit (§4.2).

A horizon store also acts on no cluster (§4.5). Crosslinking a cluster applies its tag but makes no member phantoms. The filter drops the cluster's content, and classification elides any phantom that carries the cluster tag. The client stops sending req-clusters. Path-cone-only stores keep today's cluster behaviour.

Conformance cases run against go-libfossil's handler and fossil(1): clone and pull, deepen, demand fetch through UpdateContext, transit deltas, and cluster rules. check-in: f1f4240f40 user: [email protected] tags: feat/horizon-cones, trunk

02:59
docs(changelog): sparse classification at real-repository scale check-in: 6e6281148f user: [email protected] tags: feat/horizon-cones, trunk
Changes