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