Raw data for old side of diff, or null for empty
Length of the raw data for old side of the diff
Treat old buffer as if it had this filename; can be null
Raw data for new side of diff, or null for empty
Length of raw data for new side of diff
Treat buffer as if it had this filename; can be null
Options for diff, or null for default options
Callback for "file"; made once if there is a diff; can be null
Callback for binary files; can be null
Callback for each hunk in diff; can be null
Callback for each line in diff; can be null
Payload passed to each callback function
0 on success, non-zero callback return value, or error code
Directly run a diff between two buffers.
Even more than with git_diff_blobs, comparing two buffer lacks context, so the git_diff_file parameters to the callbacks will be faked a la the rules for git_diff_blobs().