diff options
| author | 2026-03-26 09:14:59 +0000 | |
|---|---|---|
| committer | 2026-03-26 09:14:59 +0000 | |
| commit | 3d25bda9d5da6814661828adabe8a09f9d01aefb (patch) | |
| tree | d034e28079333f85e5d7b96d921282eddd4798d6 /network/receivepack/service/options.go | |
| parent | object/id: Empty tree (diff) | |
| signature | No signature | |
network/receivepack: Rename from receivepack
Diffstat (limited to 'network/receivepack/service/options.go')
| -rw-r--r-- | network/receivepack/service/options.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/network/receivepack/service/options.go b/network/receivepack/service/options.go new file mode 100644 index 00000000..7edf4f06 --- /dev/null +++ b/network/receivepack/service/options.go @@ -0,0 +1,36 @@ +package service + +import ( + "io" + "io/fs" + "os" + + objectid "codeberg.org/lindenii/furgit/object/id" + objectstorer "codeberg.org/lindenii/furgit/object/storer" + refstore "codeberg.org/lindenii/furgit/ref/store" +) + +type PromotedObjectPermissions struct { + DirMode fs.FileMode + FileMode fs.FileMode +} + +// Options configures one protocol-independent receive-pack service. +// +// Service borrows all configured dependencies. +// +// Refs and ExistingObjects are required and must be non-nil. +// ObjectsRoot is required if Execute may need to ingest or promote a pack. +// Progress, ProgressFlush, Hook, and HookIO are optional; when provided they +// are also borrowed for the duration of Execute. +type Options struct { + Algorithm objectid.Algorithm + Refs refstore.ReadWriteStore + ExistingObjects objectstorer.Store + ObjectsRoot *os.Root + Progress io.Writer + ProgressFlush func() error + PromotedObjectPermissions *PromotedObjectPermissions + Hook Hook + HookIO HookIO +} |
