Fast implementation of Git in pure Go codeberg.org/lindenii/furgit
git go
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

object/store: Okay, I intend to have a writing interface.

Runxi Yu 85ee911b 30bc0876

+6 -5
+6 -5
object/store/doc.go
··· 1 1 // Package objectstore provides interfaces for object storage backends. 2 2 // 3 - // Object stores only respond to object-ID queries in terms of headers (type 3 + // Reading stores only respond to object-ID queries in terms of headers (type 4 4 // and size), raw bytes, and streaming payloads, but they do not parse commits, 5 5 // trees, blobs, or tags into typed values. Turning stored objects into typed 6 6 // objects is the job of [codeberg.org/lindenii/furgit/object/fetch]. 7 7 // 8 - // This package also does not define a unified writing-store interface. 9 - // Backends have very different write models: writing one loose object is 10 - // natural, while writing one object into a packfile backend is wasteful. 11 - // A variety of writing interfaces may be added later. 8 + // This package does not define one unified writing interface. Backends have 9 + // very different write models: writing one loose object is natural, while 10 + // writing one object into a packfile backend is wasteful. Instead, we define 11 + // distinct optional capabilities for object-wise writes, pack-wise writes, 12 + // and compose them against quarantined writes. 12 13 // 13 14 // Concrete implementations generally inherit the contract documented by the 14 15 // interfaces they satisfy. Implementation docs focus on additional guarantees