Loop over all deltas in a diff list issuing callbacks.
This will iterate through all of the files described in a diff. You should provide a file callback to learn about each file.
The "hunk" and "line" callbacks are optional, and the text diff of the files will only be calculated if they are not NULL. Of course, these callbacks will not be invoked for binary files on the diff list or for files whose only changed is a file mode change.
Returning a non-zero value from any of the callbacks will terminate
the iteration and cause this return GIT_EUSER
.
Optional callback to make per hunk of text diff. This callback is called to describe a range of lines in the diff. It will not be issued for binary files.
Optional callback to make per line of diff text. This same callback will be made for context lines, added, and removed lines, and even for a deleted trailing newline.
Reference pointer that will be passed to your callbacks.
0 on success, GIT_EUSER on non-zero callback, or error code