ref: 1b17776bcb3ffa1c270ceb3dcfc6f0ee815d9426
parent: af07cfa67b867607912376fbcda842fe7373ebf3
author: Runxi Yu <me@runxiyu.org>
date: Fri Feb 20 21:06:15 EST 2026
refstore: Add basic reference store interfaces
--- /dev/null
+++ b/refstore/refstore.go
@@ -1,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
+}
--
⑨