Tags and Properties for Check-in a992dcb34f
- branch=main propagates to descendants
- sym-main propagates to descendants
- sym-trunk inherited from [f5744359d3]
- sym-v0.15.0=Release v0.15.0 go-libfossil implements horizon cones (draft-fossil-horizon-00, pinned at zit horizon-rfc 24457c7dd6), interoperating with zit both ways at both depths: - Content horizons: a clone, store or cone can carry a horizon check-in and a rule (descendants or leaves); blobs below it are elided and fetched from the origin on demand. repo clone --horizon, repo cone deepen, repo cone cost. - Structural horizons: the store also drops manifests below the horizon, anchored by a seed artifact the origin mints. repo clone --horizon --structural; repo verify --seed checks the seed against the history below it. - Horizon serving: an origin answers horizon and cone requests with the held set, hands out a cursor so later pulls send only what was appended, answers merge-base queries for merges whose ancestry crosses the horizon, and memoises its classification across requests. Cone and horizon clones of a real-sized repository complete: fossil-scm.org clones dense in about 3 minutes, at a structural horizon in 31 seconds, and as a src cone in about 8. Behavior changes to check when upgrading: - cli.RepoCloneCmd is no longer comparable with ==. Every other exported API change is an addition. - Under a structural horizon, Merge refuses when either side's ancestry crosses the horizon; MergeContext with a Peer asks the origin instead. - Merges choose fossil's merge base and follow renames as fossil does; Repo.Merge no longer restores files the merge deleted. - A check-in received before its cherrypick source, or whose parent the origin lacks, now ends with the linkage rows a rebuild derives. See CHANGELOG.md for the full list. added by [f8a56f3c5e] on 2026-10-23 17:23:39
|
2026-10-23
| ||
| 17:23 |
•
Edit [a992dcb34f]: Add tag "v0.15.0" with note "Release v0.15.0
go-libfossil implements horizon cones (draft-fossil-horizon-00, pinned at zit horizon-rfc 24457c7dd6), interoperating with zit both ways at both depths: - Content horizons: a clone, store or cone can carry a horizon check-in and a rule (descendants or leaves); blobs below it are elided and fetched from the origin on demand. repo clone --horizon, repo cone deepen, repo cone cost. - Structural horizons: the store also drops manifests below the horizon, anchored by a seed artifact the origin mints. repo clone --horizon --structural; repo verify --seed checks the seed against the history below it. - Horizon serving: an origin answers horizon and cone requests with the held set, hands out a cursor so later pulls send only what was appended, answers merge-base queries for merges whose ancestry crosses the horizon, and memoises its classification across requests. Cone and horizon clones of a real-sized repository complete: fossil-scm.org clones dense in about 3 minutes, at a structural horizon in 31 seconds, and as a src cone in about 8. Behavior changes to check when upgrading: - cli.RepoCloneCmd is no longer comparable with ==. Every other exported API change is an addition. - Under a structural horizon, Merge refuses when either side's ancestry crosses the horizon; MergeContext with a Peer asks the origin instead. - Merges choose fossil's merge base and follow renames as fossil does; Repo.Merge no longer restores files the merge deleted. - A check-in received before its cherrypick source, or whose parent the origin lacks, now ends with the linkage rows a rebuild derives. See CHANGELOG.md for the full list.". artifact: f8a56f3c5e user: [email protected] | |
| 17:23 |
Merge pull request #464 from danmestas/release/v0.15.0
chore(release): v0.15.0 check-in: a992dcb34f user: [email protected] tags: main, trunk, v0.15.0 | |
|
2026-04-19
| ||
| 16:30 |
Initial open source release
libfossil is a pure-Go implementation of the Fossil SCM, reading and writing the same .fossil SQLite repository format as upstream Fossil. This is the first public release of code that previously lived in a private repository. The module path is github.com/danmestas/libfossil and the binary is named libfossil to avoid $PATH collisions with upstream fossil. Included: - Repo lifecycle (create, clone), checkout/checkin, timeline, merge, diff, annotate, shun, tag, branch, bisect, stash, undo/redo - Sync-over-HTTP protocol (client and handler) - Two SQLite drivers: modernc (pure Go, default) and ncruces (wasm-capable) - Observer interfaces (SyncObserver, CheckoutObserver) with an optional OpenTelemetry implementation in observer/otel (separate submodule) - Deterministic simulation testing harness with BUGGIFY fault injection - Kong-based embeddable CLI under cli/ and a standalone binary under cmd/libfossil/ check-in: f5744359d3 user: [email protected] tags: trunk | |