Skip to content
go-libfossil Check-in [c4b191ed05]
Login

Check-in [c4b191ed05]

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

An origin answering a horizon request never sends a cluster, even one a gimme names; an origin may name a history URL in horizon-served (horizon-history-url), which the client reports; and a merge with no peer to ask refuses whenever either side's ancestry crosses the horizon. Conflicts in the changelog and the CLI horizon tests kept both sides.

Timelines: family | ancestors | trunk | feat/horizon-cones
Files: files | file ages | folders
SHA3-256: c4b191ed05c0e8ef78a7f690bf4df47747700947131de557a0d2fdaf95950089
User & Date: [email protected] on 2026-10-23 03:28:00.000
Other Links: branch diff | manifest | tags
Context
2026-10-23
03:28
Merge branch 'wip/hz-close-sync' into feat/horizon-cones

An origin answering a horizon request never sends a cluster, even one a gimme names; an origin may name a history URL in horizon-served (horizon-history-url), which the client reports; and a merge with no peer to ask refuses whenever either side's ancestry crosses the horizon. Conflicts in the changelog and the CLI horizon tests kept both sides. leaf check-in: c4b191ed05 user: [email protected] tags: feat/horizon-cones, trunk

03:03
fix(merge): refuse a merge whose ancestry crosses the horizon without a peer

draft-fossil-horizon-00 §5.5 has a structural clone ask the origin for the base whenever either side's ancestry crosses the horizon, even when its own walk finds a common ancestor: over part of the graph that ancestor need not be the nearest. Without a peer Checkout.Merge and Repo.Merge refused only when the walk itself crossed, and merged over a held base whose sides' ancestry crossed below it.

Both now refuse such a merge with an error matching ErrBelowHorizon that names the horizon and points to Checkout.MergeContext with a Peer; MergeContext refuses the same way when the origin does not answer. A merge whose ancestry stays above the horizon, or one given its base, still merges locally. The CLI's merge already falls back to asking the remote on ErrBelowHorizon, so it now asks in these cases too. check-in: 263de5a736 user: [email protected] tags: feat/horizon-cones, trunk

03:02
Merge branch 'wip/repin-5d61' into feat/horizon-cones

The horizon draft pinned at zit horizon-rfc 5d618aaeb1: an origin with no tag in force mints no seed and serves the content level, and choosing C is shown with each rule's cost (repo cone cost, Repo.HorizonCost). check-in: 77e74bd011 user: [email protected] tags: feat/horizon-cones, trunk

Changes