|
diff --git a/ui-diff.c b/ui-diff.c index a53425d..a7bc667 100644 --- a/ ui-diff.c+++ b/ ui-diff.c |
|
@@ -151,50 +151,53 @@ static void inspect_filepair(struct diff_filepair *pair) |
151 | hashcpy(items[files-1].new_sha1, pair->two->sha1); |
151 | hashcpy(items[files-1].new_sha1, pair->two->sha1); |
152 | items[files-1].old_mode = pair->one->mode; |
152 | items[files-1].old_mode = pair->one->mode; |
153 | items[files-1].new_mode = pair->two->mode; |
153 | items[files-1].new_mode = pair->two->mode; |
154 | items[files-1].old_path = xstrdup(pair->one->path); |
154 | items[files-1].old_path = xstrdup(pair->one->path); |
155 | items[files-1].new_path = xstrdup(pair->two->path); |
155 | items[files-1].new_path = xstrdup(pair->two->path); |
156 | items[files-1].added = lines_added; |
156 | items[files-1].added = lines_added; |
157 | items[files-1].removed = lines_removed; |
157 | items[files-1].removed = lines_removed; |
158 | items[files-1].old_size = old_size; |
158 | items[files-1].old_size = old_size; |
159 | items[files-1].new_size = new_size; |
159 | items[files-1].new_size = new_size; |
160 | items[files-1].binary = binary; |
160 | items[files-1].binary = binary; |
161 | if (lines_added + lines_removed > max_changes) |
161 | if (lines_added + lines_removed > max_changes) |
162 | max_changes = lines_added + lines_removed; |
162 | max_changes = lines_added + lines_removed; |
163 | total_adds += lines_added; |
163 | total_adds += lines_added; |
164 | total_rems += lines_removed; |
164 | total_rems += lines_removed; |
165 | } |
165 | } |
166 | |
166 | |
167 | void cgit_print_diffstat(const unsigned char *old_sha1, |
167 | void cgit_print_diffstat(const unsigned char *old_sha1, |
168 | const unsigned char *new_sha1, const char *prefix) |
168 | const unsigned char *new_sha1, const char *prefix) |
169 | { |
169 | { |
170 | int i, save_context = ctx.qry.context; |
170 | int i, save_context = ctx.qry.context; |
171 | |
171 | |
172 | html("<div class='diffstat-header'>"); |
172 | html("<div class='diffstat-header'>"); |
173 | cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1, |
173 | cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1, |
174 | ctx.qry.sha2, NULL, 0); |
174 | ctx.qry.sha2, NULL, 0); |
175 | if (prefix) |
175 | if (prefix) { |
176 | htmlf(" (limited to '%s')", prefix); |
176 | html(" (limited to '"); |
| |
177 | html_txt(prefix); |
| |
178 | html("')"); |
| |
179 | } |
177 | html(" ("); |
180 | html(" ("); |
178 | ctx.qry.context = (save_context > 0 ? save_context : 3) << 1; |
181 | ctx.qry.context = (save_context > 0 ? save_context : 3) << 1; |
179 | cgit_self_link("more", NULL, NULL, &ctx); |
182 | cgit_self_link("more", NULL, NULL, &ctx); |
180 | html("/"); |
183 | html("/"); |
181 | ctx.qry.context = (save_context > 3 ? save_context : 3) >> 1; |
184 | ctx.qry.context = (save_context > 3 ? save_context : 3) >> 1; |
182 | cgit_self_link("less", NULL, NULL, &ctx); |
185 | cgit_self_link("less", NULL, NULL, &ctx); |
183 | ctx.qry.context = save_context; |
186 | ctx.qry.context = save_context; |
184 | html(" context)"); |
187 | html(" context)"); |
185 | html(" ("); |
188 | html(" ("); |
186 | ctx.qry.ignorews = (ctx.qry.ignorews + 1) % 2; |
189 | ctx.qry.ignorews = (ctx.qry.ignorews + 1) % 2; |
187 | cgit_self_link(ctx.qry.ignorews ? "ignore" : "show", NULL, NULL, &ctx); |
190 | cgit_self_link(ctx.qry.ignorews ? "ignore" : "show", NULL, NULL, &ctx); |
188 | ctx.qry.ignorews = (ctx.qry.ignorews + 1) % 2; |
191 | ctx.qry.ignorews = (ctx.qry.ignorews + 1) % 2; |
189 | html(" whitespace changes)"); |
192 | html(" whitespace changes)"); |
190 | html("</div>"); |
193 | html("</div>"); |
191 | html("<table summary='diffstat' class='diffstat'>"); |
194 | html("<table summary='diffstat' class='diffstat'>"); |
192 | max_changes = 0; |
195 | max_changes = 0; |
193 | cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, prefix, |
196 | cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, prefix, |
194 | ctx.qry.ignorews); |
197 | ctx.qry.ignorews); |
195 | for(i = 0; i<files; i++) |
198 | for(i = 0; i<files; i++) |
196 | print_fileinfo(&items[i]); |
199 | print_fileinfo(&items[i]); |
197 | html("</table>"); |
200 | html("</table>"); |
198 | html("<div class='diffstat-summary'>"); |
201 | html("<div class='diffstat-summary'>"); |
199 | htmlf("%d files changed, %d insertions, %d deletions", |
202 | htmlf("%d files changed, %d insertions, %d deletions", |
200 | files, total_adds, total_rems); |
203 | files, total_adds, total_rems); |
|