shithub: furgit

Download patch

ref: 85ee911bf6417a0d5bae187f9e8c2d0a4daa2201
parent: 30bc08762a5aa33b9f47af304d51ef3878752b2f
author: Runxi Yu <runxiyu@umich.edu>
date: Mon Mar 30 08:28:04 EDT 2026

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

--- a/object/store/doc.go
+++ b/object/store/doc.go
@@ -1,14 +1,15 @@
 // Package objectstore provides interfaces for object storage backends.
 //
-// Object stores only respond to object-ID queries in terms of headers (type
+// 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 also does not define a unified writing-store interface.
-// Backends have very different write models: writing one loose object is
-// natural, while writing one object into a packfile backend is wasteful.
-// A variety of writing interfaces may be added later.
+// 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
--