Skip to content
go-libfossil Check-in [5e882bf1f1]
Login

Check-in [5e882bf1f1]

Overview
Comment:Merge pull request #496 from danmestas/feat/read-blob-content-cache

feat: read an artifact by hash and cache content on Repo

Timelines: family | ancestors | descendants | both | main | trunk
Files: files | file ages | folders
SHA3-256: 5e882bf1f143b635dffe23d6abe4be281106a16101bfda2bf58ce51ed54936ef
User & Date: [email protected] on 2026-10-25 23:28:49.000
Other Links: branch diff | manifest | tags
Context
2026-10-25
23:36
Merge pull request #498 from danmestas/fix/horizon-cursor-embedder-transport

fix(sync): export OriginNamer so an embedder's transport keeps a horizon cursor check-in: a52911df25 user: [email protected] tags: main, trunk

23:29
fix(sync): export OriginNamer so an embedder's transport keeps a horizon cursor

Sync and Clone keyed the horizon cursor (draft-fossil-horizon-00 §6.2.6) on an unexported syncOrigin method, which only the HTTP transport could satisfy. Any other Transport kept no cursor and announced its whole holding with igot on every pull.

OriginNamer is an optional interface, discovered by type assertion like FramedTransport, with SyncOrigin() string. The HTTP transport implements it in place of the unexported method, so one assertion serves both. The name must identify the peer stably and carry no credential.

Tracked in #488. check-in: 8d16b7289c user: [email protected] tags: main, trunk

23:28
Merge pull request #496 from danmestas/feat/read-blob-content-cache

feat: read an artifact by hash and cache content on Repo check-in: 5e882bf1f1 user: [email protected] tags: main, trunk

23:10
feat: read an artifact by hash and cache content on Repo

Repo.ReadBlob expands one artifact by its full hash after the availability check ReadFile applies, and names an unknown hash with ErrArtifactNotFound.

Repo.SetContentCache attaches a byte-bounded content.Cache that ReadFile, ReadFileAt, ReadBlob, ListFiles, Diff and Annotate share; check-in parses are kept in its derived memo, so reads at one check-in parse the manifest once. Default off. A read that finds the DB's finished-write count moved swaps in an empty cache, so a purged, compacted or elided artifact, and a rid SQLite reuses after a purge, is never served from it. Writes by another process are not seen; the method's doc says so.

Tracked in #492. leaf check-in: d367012009 user: [email protected] tags: feat/read-blob-content-cache, trunk

23:10
Merge pull request #497 from danmestas/ci/gofmt

ci: check gofmt; format the tree check-in: 969c8f1fe4 user: [email protected] tags: main, trunk

Changes