libgit2

git_diff_index_to_workdir

Version:

Create a diff between the repository index and the workdir directory.

This matches the git diff command. See the note below on git_diff_tree_to_workdir for a discussion of the difference between git diff and git diff HEAD and how to emulate a git diff <treeish> using libgit2.

The index will be used for the "old_file" side of the delta, and the working directory 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_index_to_workdir(git_diff **diff, git_repository *repo, 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.

In
index

The index to diff from; 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