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.
0 or an error code.