diff options
| author | 2026-02-21 02:06:15 +0800 | |
|---|---|---|
| committer | 2026-02-21 02:06:15 +0800 | |
| commit | 1b17776bcb3ffa1c270ceb3dcfc6f0ee815d9426 (patch) | |
| tree | 08d358fe7db5718cecd43bf561b678b687d74a23 /refstore | |
| parent | ref: Add Ref, Detached, Symbolic (diff) | |
| signature | No signature | |
refstore: Add basic reference store interfaces
Diffstat (limited to 'refstore')
| -rw-r--r-- | refstore/refstore.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/refstore/refstore.go b/refstore/refstore.go new file mode 100644 index 00000000..08f00f17 --- /dev/null +++ b/refstore/refstore.go @@ -0,0 +1,19 @@ +package refstore + +import ( + "errors" + + "codeberg.org/lindenii/furgit/ref" +) + +// ErrReferenceNotFound indicates that a reference does not exist in a backend. +// TODO: interface error? just like object not found in objectstore +var ErrReferenceNotFound = errors.New("refstore: reference not found") + +// Store reads Git references. +type Store interface { + Resolve(name string) (ref.Ref, error) + ResolveFully(name string) (ref.Detached, error) + List(pattern string) ([]ref.Ref, error) + Close() error +} |
