Skip to content
go-libfossil Artifact [f8a56f3c5e]
Login

Artifact [f8a56f3c5e]

Artifact f8a56f3c5e38036394c53ce16ea45197430ecda8f011280d2d8d224ca157e375:

Tag referencing [f8a56f3c5e] - 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.". by [email protected] on 2026-10-23 17:23:39.


D 2026-10-23T17:23:39
T +sym-v0.15.0 a992dcb34f1fb83af98e69a0dd9284e386cc614b72eae283524c5001727577d7 Release\sv0.15.0\n\ngo-libfossil\simplements\shorizon\scones\s(draft-fossil-horizon-00,\spinned\sat\szit\shorizon-rfc\s24457c7dd6),\sinteroperating\swith\szit\sboth\sways\sat\sboth\sdepths:\n-\sContent\shorizons:\sa\sclone,\sstore\sor\scone\scan\scarry\sa\shorizon\scheck-in\sand\sa\srule\s(descendants\sor\sleaves);\sblobs\sbelow\sit\sare\selided\sand\sfetched\sfrom\sthe\sorigin\son\sdemand.\srepo\sclone\s--horizon,\srepo\scone\sdeepen,\srepo\scone\scost.\n-\sStructural\shorizons:\sthe\sstore\salso\sdrops\smanifests\sbelow\sthe\shorizon,\sanchored\sby\sa\sseed\sartifact\sthe\sorigin\smints.\srepo\sclone\s--horizon\s--structural;\srepo\sverify\s--seed\schecks\sthe\sseed\sagainst\sthe\shistory\sbelow\sit.\n-\sHorizon\sserving:\san\sorigin\sanswers\shorizon\sand\scone\srequests\swith\sthe\sheld\sset,\shands\sout\sa\scursor\sso\slater\spulls\ssend\sonly\swhat\swas\sappended,\sanswers\smerge-base\squeries\sfor\smerges\swhose\sancestry\scrosses\sthe\shorizon,\sand\smemoises\sits\sclassification\sacross\srequests.\nCone\sand\shorizon\sclones\sof\sa\sreal-sized\srepository\scomplete:\sfossil-scm.org\sclones\sdense\sin\sabout\s3\sminutes,\sat\sa\sstructural\shorizon\sin\s31\sseconds,\sand\sas\sa\ssrc\scone\sin\sabout\s8.\n\nBehavior\schanges\sto\scheck\swhen\supgrading:\n-\scli.RepoCloneCmd\sis\sno\slonger\scomparable\swith\s==.\sEvery\sother\sexported\sAPI\schange\sis\san\saddition.\n-\sUnder\sa\sstructural\shorizon,\sMerge\srefuses\swhen\seither\sside's\sancestry\scrosses\sthe\shorizon;\sMergeContext\swith\sa\sPeer\sasks\sthe\sorigin\sinstead.\n-\sMerges\schoose\sfossil's\smerge\sbase\sand\sfollow\srenames\sas\sfossil\sdoes;\sRepo.Merge\sno\slonger\srestores\sfiles\sthe\smerge\sdeleted.\n-\sA\scheck-in\sreceived\sbefore\sits\scherrypick\ssource,\sor\swhose\sparent\sthe\sorigin\slacks,\snow\sends\swith\sthe\slinkage\srows\sa\srebuild\sderives.\n\nSee\sCHANGELOG.md\sfor\sthe\sfull\slist.
U [email protected]
Z 2850b2acf8c13fba8c55a3ddde91f391