libgit2

git_diff_tree_to_index

Version:

Create a diff between a tree and repository index.

This is equivalent to git diff --cached <treeish> or if you pass the HEAD tree, then like git diff --cached.

The tree you pass will be used for the "old_file" side of the delta, and the index will be used for the "new_file" side of the delta.

If you pass NULL for the index, then the existing index of the repo will be used. In this case, the index will be refreshed from disk (if it has changed) before the diff is generated.

Signature

int git_diff_tree_to_index(git_diff **diff, git_repository *repo, git_tree *old_tree, git_index *index, const git_diff_options *opts);

Parameters

In
diff

Output pointer to a git_diff pointer to be allocated.

In
repo

The repository containing the tree and index.

In
old_tree

A git_tree object to diff from, or NULL for empty tree.

In
index

The index to diff with; repo index used if NULL.

In
opts

Structure with options to influence diff or NULL for defaults.

Returns

int

0 or an error code.

Versions