diff options
| author | 2026-03-31 03:04:26 +0000 | |
|---|---|---|
| committer | 2026-03-31 03:04:26 +0000 | |
| commit | f5a57ebae17b5636bb7e2212bccb0c22ee17944a (patch) | |
| tree | 0a65b70c9d17975552560a34ee141613e725e148 /internal | |
| parent | object/fetch: Cleanup and add header/size (diff) | |
| signature | No signature | |
internal/peel: Purge v0.1.167
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/peel/peel.go | 50 |
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 - } -} |
