Recursively peel an object until an object of the specified type is met.
If the query cannot be satisfied due to the object model,
git_error_code.GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a
tree).
If you pass git_object_t.GIT_OBJECT_ANY as the target type, then the object will
be peeled until the type changes. A tag will be peeled until the
referenced object is no longer a tag, and a commit will be peeled
to a tree. Any other object type will return git_error_code.GIT_EINVALIDSPEC.
If peeling a tag we discover an object which cannot be peeled to
the target type due to the object model, git_error_code.GIT_EPEEL will be
returned.
Recursively peel an object until an object of the specified type is met.
If the query cannot be satisfied due to the object model, git_error_code.GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a tree).
If you pass git_object_t.GIT_OBJECT_ANY as the target type, then the object will be peeled until the type changes. A tag will be peeled until the referenced object is no longer a tag, and a commit will be peeled to a tree. Any other object type will return git_error_code.GIT_EINVALIDSPEC.
If peeling a tag we discover an object which cannot be peeled to the target type due to the object model, git_error_code.GIT_EPEEL will be returned.
You must free the returned object.