1 #include "futils.h" 2 #include "git2/diff.h" 3 4 extern git_tree *resolve_commit_oid_to_tree( 5 git_repository *repo, const char *partial_oid); 6 7 typedef struct { 8 int files; 9 int files_binary; 10 11 int file_status[11]; /* indexed by git_delta_t value */ 12 13 int hunks; 14 int hunk_new_lines; 15 int hunk_old_lines; 16 17 int lines; 18 int line_ctxt; 19 int line_adds; 20 int line_dels; 21 22 /* optional arrays of expected specific values */ 23 const char **names; 24 int *statuses; 25 26 int debug; 27 28 } diff_expects; 29 30 typedef struct { 31 const char *path; 32 const char *matched_pathspec; 33 } notify_expected; 34 35 extern int diff_file_cb( 36 const git_diff_delta *delta, 37 float progress, 38 void *cb_data); 39 40 extern int diff_print_file_cb( 41 const git_diff_delta *delta, 42 float progress, 43 void *cb_data); 44 45 extern int diff_binary_cb( 46 const git_diff_delta *delta, 47 const git_diff_binary *binary, 48 void *cb_data); 49 50 extern int diff_hunk_cb( 51 const git_diff_delta *delta, 52 const git_diff_hunk *hunk, 53 void *cb_data); 54 55 extern int diff_line_cb( 56 const git_diff_delta *delta, 57 const git_diff_hunk *hunk, 58 const git_diff_line *line, 59 void *cb_data); 60 61 extern int diff_foreach_via_iterator( 62 git_diff *diff, 63 git_diff_file_cb file_cb, 64 git_diff_binary_cb binary_cb, 65 git_diff_hunk_cb hunk_cb, 66 git_diff_line_cb line_cb, 67 void *data); 68 69 extern void diff_print(FILE *fp, git_diff *diff); 70 extern void diff_print_raw(FILE *fp, git_diff *diff); 71 72 extern void diff_assert_equal(git_diff *a, git_diff *b); 73 74