-rw-r--r-- | ui-diff.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -151,23 +151,25 @@ static void inspect_filepair(struct diff_filepair *pair) max_changes = lines_added + lines_removed; total_adds += lines_added; total_rems += lines_removed; } void cgit_print_diffstat(const unsigned char *old_sha1, - const unsigned char *new_sha1) + const unsigned char *new_sha1, const char *prefix) { int i; html("<div class='diffstat-header'>"); cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1, ctx.qry.sha2, NULL, 0); + if (prefix) + htmlf(" (limited to '%s')", prefix); html("</div>"); html("<table summary='diffstat' class='diffstat'>"); max_changes = 0; - cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, NULL); + cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, prefix); for(i = 0; i<files; i++) print_fileinfo(&items[i]); html("</table>"); html("<div class='diffstat-summary'>"); htmlf("%d files changed, %d insertions, %d deletions", files, total_adds, total_rems); @@ -335,13 +337,13 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi } if ((ctx.qry.ssdiff && !ctx.cfg.ssdiff) || (!ctx.qry.ssdiff && ctx.cfg.ssdiff)) use_ssdiff = 1; print_ssdiff_link(); - cgit_print_diffstat(old_rev_sha1, new_rev_sha1); + cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix); if (use_ssdiff) { html("<table summary='ssdiff' class='ssdiff'>"); } else { html("<table summary='diff' class='diff'>"); html("<tr><td>"); |