#include "fileops.h" #include "git2/diff.h" extern git_tree *resolve_commit_oid_to_tree( git_repository *repo, const char *partial_oid); typedef struct { int files; int files_binary; int file_status[11]; /* indexed by git_delta_t value */ int hunks; int hunk_new_lines; int hunk_old_lines; int lines; int line_ctxt; int line_adds; int line_dels; /* optional arrays of expected specific values */ const char **names; int *statuses; int debug; } diff_expects; typedef struct { const char *path; const char *matched_pathspec; } notify_expected; extern int diff_file_cb( const git_diff_delta *delta, float progress, void *cb_data); extern int diff_print_file_cb( const git_diff_delta *delta, float progress, void *cb_data); extern int diff_binary_cb( const git_diff_delta *delta, const git_diff_binary *binary, void *cb_data); extern int diff_hunk_cb( const git_diff_delta *delta, const git_diff_hunk *hunk, void *cb_data); extern int diff_line_cb( const git_diff_delta *delta, const git_diff_hunk *hunk, const git_diff_line *line, void *cb_data); extern int diff_foreach_via_iterator( git_diff *diff, git_diff_file_cb file_cb, git_diff_binary_cb binary_cb, git_diff_hunk_cb hunk_cb, git_diff_line_cb line_cb, void *data); extern void diff_print(FILE *fp, git_diff *diff); extern void diff_print_raw(FILE *fp, git_diff *diff); extern void diff_assert_equal(git_diff *a, git_diff *b);