aboutsummaryrefslogtreecommitdiff
path: root/commitquery/oid.go
diff options
context:
space:
mode:
Diffstat (limited to 'commitquery/oid.go')
-rw-r--r--commitquery/oid.go101
1 files changed, 0 insertions, 101 deletions
diff --git a/commitquery/oid.go b/commitquery/oid.go
deleted file mode 100644
index fd524dfb..00000000
--- a/commitquery/oid.go
+++ /dev/null
@@ -1,101 +0,0 @@
-package commitquery
-
-import (
- stderrors "errors"
-
- giterrors "codeberg.org/lindenii/furgit/errors"
- commitgraphread "codeberg.org/lindenii/furgit/format/commitgraph/read"
- "codeberg.org/lindenii/furgit/internal/peel"
- objectcommit "codeberg.org/lindenii/furgit/object/commit"
- objectid "codeberg.org/lindenii/furgit/object/id"
- objectstore "codeberg.org/lindenii/furgit/object/store"
- objecttype "codeberg.org/lindenii/furgit/object/type"
-)
-
-func (query *query) id(idx nodeIndex) objectid.ObjectID {
- return query.nodes[idx].id
-}
-
-func (query *query) commitTime(idx nodeIndex) int64 {
- return query.nodes[idx].commitTime
-}
-
-func (query *query) resolveOID(id objectid.ObjectID) (nodeIndex, error) {
- idx, ok := query.byOID[id]
- if ok {
- err := query.ensureLoaded(idx)
- if err != nil {
- return 0, err
- }
-
- return idx, nil
- }
-
- idx = query.newNode(id)
- query.byOID[id] = idx
-
- err := query.loadByOID(idx)
- if err != nil {
- delete(query.byOID, id)
-
- return 0, err
- }
-
- return idx, nil
-}
-
-func (query *query) resolveCommitish(id objectid.ObjectID) (nodeIndex, error) {
- commitID, err := peel.ToCommit(query.store, id)
- if err != nil {
- return 0, err
- }
-
- return query.resolveOID(commitID)
-}
-
-// loadByOID populates one node from an object ID.
-func (query *query) loadByOID(idx nodeIndex) error {
- id := query.nodes[idx].id
-
- if query.graph != nil {
- pos, err := query.graph.Lookup(id)
- if err != nil {
- if _, ok := stderrors.AsType[*commitgraphread.NotFoundError](err); !ok {
- return err
- }
- } else {
- return query.loadCommitAtGraphPos(idx, pos)
- }
- }
-
- ty, content, err := query.store.ReadBytesContent(id)
- if err != nil {
- if stderrors.Is(err, objectstore.ErrObjectNotFound) {
- return &giterrors.ObjectMissingError{OID: id}
- }
-
- return err
- }
-
- if ty != objecttype.TypeCommit {
- return &giterrors.ObjectTypeError{OID: id, Got: ty, Want: objecttype.TypeCommit}
- }
-
- commitObj, err := objectcommit.Parse(content, id.Algorithm())
- if err != nil {
- return err
- }
-
- parents := make([]parentRef, 0, len(commitObj.Parents))
- for _, parentID := range commitObj.Parents {
- parents = append(parents, parentRef{ID: parentID})
- }
-
- commit := commitData{
- ID: id,
- Parents: parents,
- CommitTime: commitObj.Committer.WhenUnix,
- }
-
- return query.populateNode(idx, commit)
-}