libgit2

git_reference_peel

Version:

Recursively peel reference until object of the specified type is found.

The retrieved peeled object is owned by the repository and should be closed with the git_object_free method.

If you pass GIT_OBJ_ANY as the target type, then the object will be peeled until a non-tag object is met.

Signature

int git_reference_peel(git_object **out, const git_reference *ref, git_otype type);

Parameters

In
out

Pointer to the peeled git_object

In
ref

The reference to be processed

In
type

The type of the requested object (GIT_OBJ_COMMIT, GIT_OBJ_TAG, GIT_OBJ_TREE, GIT_OBJ_BLOB or GIT_OBJ_ANY).

Returns

int

0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code

Versions