diff options
Diffstat (limited to 'object/resolve/peel_to_commit.go')
| -rw-r--r-- | object/resolve/peel_to_commit.go | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/object/resolve/peel_to_commit.go b/object/resolve/peel_to_commit.go deleted file mode 100644 index 0272dd83..00000000 --- a/object/resolve/peel_to_commit.go +++ /dev/null @@ -1,29 +0,0 @@ -package resolve - -import ( - "fmt" - - "codeberg.org/lindenii/furgit/object/commit" - objectid "codeberg.org/lindenii/furgit/object/id" - "codeberg.org/lindenii/furgit/object/stored" - "codeberg.org/lindenii/furgit/object/tag" -) - -// PeelToCommit peels tags until it reaches a commit. -func (r *Resolver) PeelToCommit(id objectid.ObjectID) (*stored.Stored[*commit.Commit], error) { - for { - obj, err := r.ExactObject(id) - if err != nil { - return nil, err - } - - switch parsed := obj.Object().(type) { - case *commit.Commit: - return stored.New(id, parsed), nil - case *tag.Tag: - id = parsed.Target - default: - return nil, fmt.Errorf("object/resolve: expected commit-ish object %s, got %v", id, parsed.ObjectType()) - } - } -} |
