aboutsummaryrefslogtreecommitdiff
path: root/internal/peel/peel.go
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-03-31 03:04:26 +0000
committerGravatar Runxi Yu2026-03-31 03:04:26 +0000
commitf5a57ebae17b5636bb7e2212bccb0c22ee17944a (patch)
tree0a65b70c9d17975552560a34ee141613e725e148 /internal/peel/peel.go
parentobject/fetch: Cleanup and add header/size (diff)
signatureNo signature
internal/peel: Purge v0.1.167
Diffstat (limited to 'internal/peel/peel.go')
-rw-r--r--internal/peel/peel.go50
1 files changed, 0 insertions, 50 deletions
diff --git a/internal/peel/peel.go b/internal/peel/peel.go
deleted file mode 100644
index b4af5a5b..00000000
--- a/internal/peel/peel.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// Package peel peels Git object references through annotated tags.
-package peel
-
-import (
- stderrors "errors"
-
- giterrors "codeberg.org/lindenii/furgit/errors"
- objectid "codeberg.org/lindenii/furgit/object/id"
- objectstore "codeberg.org/lindenii/furgit/object/store"
- "codeberg.org/lindenii/furgit/object/tag"
- objecttype "codeberg.org/lindenii/furgit/object/type"
-)
-
-// ToCommit peels annotated tags transitively until a commit is reached.
-func ToCommit(store objectstore.Reader, id objectid.ObjectID) (objectid.ObjectID, error) {
- for {
- ty, _, err := store.ReadHeader(id)
- if err != nil {
- if stderrors.Is(err, objectstore.ErrObjectNotFound) {
- return objectid.ObjectID{}, &giterrors.ObjectMissingError{OID: id}
- }
-
- return objectid.ObjectID{}, err
- }
-
- if ty != objecttype.TypeTag {
- if ty != objecttype.TypeCommit {
- return objectid.ObjectID{}, &giterrors.ObjectTypeError{OID: id, Got: ty, Want: objecttype.TypeCommit}
- }
-
- return id, nil
- }
-
- _, content, err := store.ReadBytesContent(id)
- if err != nil {
- if stderrors.Is(err, objectstore.ErrObjectNotFound) {
- return objectid.ObjectID{}, &giterrors.ObjectMissingError{OID: id}
- }
-
- return objectid.ObjectID{}, err
- }
-
- tag, err := tag.Parse(content, id.Algorithm())
- if err != nil {
- return objectid.ObjectID{}, err
- }
-
- id = tag.Target
- }
-}