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.
@param diff Output pointer to a git_diff pointer to be allocated.
@param repo The repository containing the tree and index.
@param old_tree A git_tree object to diff from, or null for empty tree.
@param index The index to diff with; repo index used if null.
@param opts Structure with options to influence diff or null for defaults.
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.
@param diff Output pointer to a git_diff pointer to be allocated. @param repo The repository containing the tree and index. @param old_tree A git_tree object to diff from, or null for empty tree. @param index The index to diff with; repo index used if null. @param opts Structure with options to influence diff or null for defaults.