|
|
|
@@ -56,8 +56,12 @@ static void header(unsigned char *sha1, char *path1, int mode1, |
56 | } |
56 | } |
57 | |
57 | |
58 | static void filepair_cb(struct diff_filepair *pair) |
58 | static void filepair_cb(struct diff_filepair *pair) |
59 | { |
59 | { |
| |
60 | unsigned long old_size = 0; |
| |
61 | unsigned long new_size = 0; |
| |
62 | int binary = 0; |
| |
63 | |
60 | header(pair->one->sha1, pair->one->path, pair->one->mode, |
64 | header(pair->one->sha1, pair->one->path, pair->one->mode, |
61 | pair->two->sha1, pair->two->path, pair->two->mode); |
65 | pair->two->sha1, pair->two->path, pair->two->mode); |
62 | if (S_ISGITLINK(pair->one->mode) || S_ISGITLINK(pair->two->mode)) { |
66 | if (S_ISGITLINK(pair->one->mode) || S_ISGITLINK(pair->two->mode)) { |
63 | if (S_ISGITLINK(pair->one->mode)) |
67 | if (S_ISGITLINK(pair->one->mode)) |
@@ -65,10 +69,13 @@ static void filepair_cb(struct diff_filepair *pair) |
65 | if (S_ISGITLINK(pair->two->mode)) |
69 | if (S_ISGITLINK(pair->two->mode)) |
66 | print_line(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); |
70 | print_line(fmt("+Subproject %s", sha1_to_hex(pair->two->sha1)), 52); |
67 | return; |
71 | return; |
68 | } |
72 | } |
69 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) |
73 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, &old_size, |
| |
74 | &new_size, &binary, print_line)) |
70 | html("Error running diff"); |
75 | html("Error running diff"); |
| |
76 | if (binary) |
| |
77 | html("Binary files differ\n"); |
71 | } |
78 | } |
72 | |
79 | |
73 | void cgit_print_patch(char *hex) |
80 | void cgit_print_patch(char *hex) |
74 | { |
81 | { |
|