Artifact 5969ac00f0e590372a57aa84dbe9f032e9df65faff5ba6b851c34b2b8690d414:
- File
conformance/repostate_mergebase_test.go
-
2026-10-22 20:12:26
— part of check-in
[944b44faf6]
on branch feat/horizon-cones
— test(conformance): check merge bases against fossil merge-base
The merge base is now fossil's pivot, so check it against fossil(1) on every run rather than against an expectation written once. Scripted graphs, loaded into both implementations, cover a skewed criss-cross (the newest common ancestor two edges away, not the one an edge away), a criss-cross at equal times in both load orders (the higher rid wins the tie), merges of merges and a query with two secondaries, and --ignore-merges. A merge of p into a checkout of s in the skewed graph writes the same bytes as fossil's merge and differs from a merge against the breadth-first base.
TestMergeBaseFossilOracle builds six seeded random graphs of sixteen check-ins, with equal times and children older than their parents, and compares 114 merge-base questions, both directions, with and without --ignore-merges and with two secondaries, against fossil merge-base. (user: [email protected], size: 10728) [annotate] [blame] [check-ins using]
-
2026-10-22 20:37:44
— part of check-in
[97e188b6ef]
on branch feat/horizon-cones
— Merge branch 'wip/merge-pivot' into feat/horizon-cones
Merge bases chosen as fossil's pivot_find chooses them: the most recent common ancestor by check-in time, with the check-out's pending merges as further secondaries, in place of a bidirectional breadth-first search that picked a different base on criss-cross and skewed histories. Checked against fossil 2.28 on 114 queries and a byte-for-byte merge. (user: [email protected], size: 10728) [annotate] [blame] [check-ins using]
-
2026-10-22 20:12:26
— part of check-in
[944b44faf6]
on branch feat/horizon-cones
— test(conformance): check merge bases against fossil merge-base