aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--repository/commit_queries.go11
-rw-r--r--repository/open.go2
-rw-r--r--repository/repository.go6
3 files changed, 17 insertions, 2 deletions
diff --git a/repository/commit_queries.go b/repository/commit_queries.go
new file mode 100644
index 00000000..e3d223ae
--- /dev/null
+++ b/repository/commit_queries.go
@@ -0,0 +1,11 @@
+package repository
+
+import "codeberg.org/lindenii/furgit/commitquery"
+
+// CommitQueries returns commit queries backed by the repository's object store
+// and optional commit-graph.
+//
+// Labels: Life-Parent, Close-No.
+func (repo *Repository) CommitQueries() *commitquery.Queries {
+ return repo.commitQueries
+}
diff --git a/repository/open.go b/repository/open.go
index f4dd78f8..3c400f60 100644
--- a/repository/open.go
+++ b/repository/open.go
@@ -4,6 +4,7 @@ import (
"fmt"
"os"
+ "codeberg.org/lindenii/furgit/commitquery"
reffiles "codeberg.org/lindenii/furgit/ref/store/files"
)
@@ -50,6 +51,7 @@ func Open(root *os.Root) (repo *Repository, err error) {
}
repo.commitGraph = commitGraph
+ repo.commitQueries = commitquery.New(objects, commitGraph)
refRoot, err := root.OpenRoot(".")
if err != nil {
diff --git a/repository/repository.go b/repository/repository.go
index b60e0023..cad9ceed 100644
--- a/repository/repository.go
+++ b/repository/repository.go
@@ -4,6 +4,7 @@ package repository
import (
"os"
+ "codeberg.org/lindenii/furgit/commitquery"
"codeberg.org/lindenii/furgit/config"
commitgraphread "codeberg.org/lindenii/furgit/format/commitgraph/read"
objectid "codeberg.org/lindenii/furgit/object/id"
@@ -20,8 +21,8 @@ import (
// a bare repository root or a non-bare ".git" directory.
//
// Accessors such as [Repository.Objects], [Repository.CommitGraph],
-// [Repository.Refs], [Repository.Fetcher], and
-// [Repository.LooseStoreForWriting] return repository-backed views.
+// [Repository.CommitQueries], [Repository.Refs], [Repository.Fetcher],
+// and [Repository.LooseStoreForWriting] return repository-backed views.
//
// Labels: MT-Safe, Close-Caller.
type Repository struct {
@@ -34,6 +35,7 @@ type Repository struct {
objectsLoose *objectloose.Store
objectsPacked *objectpacked.Store
commitGraph *commitgraphread.Reader
+ commitQueries *commitquery.Queries
refRoot *os.Root
refs refstore.ReadWriteStore
}