Artifact fb19adc19df46f21c425a495a5835ba6915c27ee8400270bcf27859cd9214f0e:
- File
conformance/horizon_mergebase_zit_test.go
-
2026-10-22 17:28:17
— part of check-in
[5612ac9771]
on branch feat/horizon-cones
— feat(sync): answer and ask the horizon merge-base query
A structural clone cannot compute a merge base whose ancestry lies below its horizon, so draft-fossil-horizon-00 section 6.2.4 lets it ask the origin with pragma horizon-mergebase A B. The origin answers in its pull reply, ahead of the igots where zit places it, with the base or - for no common ancestor, and only for check-ins it holds. Section 8 bounds the walk: merge.FindCommonAncestorWithin carries the held-set walk's visited-node bound and the query goes unanswered past it.
The client asks once, in the first request after the cursor, through SyncOpts.MergeBaseOf and reports the answer in the result. Interop runs both ways against zit 9bf7ebfe0f. (user: [email protected], size: 2961) [annotate] [blame] [check-ins using]
-
2026-10-22 19:51:28
— part of check-in
[19d7db48d4]
on branch feat/horizon-cones
— Merge branch 'wip/horizon-step6' into feat/horizon-cones
Appendix A step 6: the merge-base query (pragma horizon-mergebase), deepen (Repo.DeepenHorizon, repo cone deepen), merges and bisect that refuse or deepen across the horizon (ErrBelowHorizon, Checkout.MergeContext), the origin's push-time check of a branch cancellation, seed verification by deepening (Repo.VerifySeed, repo verify --seed), and symbolic names below the horizon resolving. Interoperates with zit at 9bf7ebfe0f. (user: [email protected], size: 2961) [annotate] [blame] [check-ins using]
-
2026-10-22 17:28:17
— part of check-in
[5612ac9771]
on branch feat/horizon-cones
— feat(sync): answer and ask the horizon merge-base query