shithub: furgit

Download patch

ref: 788553ded13ed99ef2746c3296280f331f290987
parent: 05a193c9e17e006d2df096ebde7b7d3917f6dfec
author: Runxi Yu <runxiyu@umich.edu>
date: Mon Mar 30 08:55:01 EDT 2026

object/store: ObjectWriter should support writers too.

--- a/object/store/writer.go
+++ b/object/store/writer.go
@@ -9,11 +9,17 @@
 
 // ObjectWriter writes individual Git objects.
 type ObjectWriter interface {
-	// WriteContent writes one typed object content stream.
-	WriteContent(ty objecttype.Type, size int64, src io.Reader) (objectid.ObjectID, error)
+	// WriteReaderContent writes one typed object content stream.
+	WriteReaderContent(ty objecttype.Type, size int64, src io.Reader) (objectid.ObjectID, error)
 
-	// WriteFull writes one full serialized object stream as "type size\0content".
-	WriteFull(src io.Reader) (objectid.ObjectID, error)
+	// WriteReaderFull writes one full serialized object stream as "type size\0content".
+	WriteReaderFull(src io.Reader) (objectid.ObjectID, error)
+
+	// WriteBytesContent writes one typed object content byte slice.
+	WriteBytesContent(ty objecttype.Type, content []byte) (objectid.ObjectID, error)
+
+	// WriteBytesFull writes one full serialized object byte slice as "type size\0content".
+	WriteBytesFull(raw []byte) (objectid.ObjectID, error)
 }
 
 // PackWriteOptions controls one pack write operation.
--