libgit2

git_tree_walk

Version:

Traverse the entries in a tree and its subtrees in post or pre order.

The entries will be traversed in the specified order, children subtrees will be automatically loaded as required, and the callback will be called once per entry with the current (relative) root for the entry and the entry data itself.

If the callback returns a positive value, the passed entry will be skipped on the traversal (in pre mode). A negative value stops the walk.

Signature

int git_tree_walk(const git_tree *tree, git_treewalk_mode mode, git_treewalk_cb callback, void *payload);

Parameters

In
tree

The tree to walk

In
mode

Traversal mode (pre or post-order)

In
callback

Function to call on each tree entry

void *
In
payload

Opaque pointer to be passed on each callback

Returns

int

0 or an error code

Versions