aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Johan Herland <johan@herland.net>2010-06-10 08:09:31 (JST)
committerGravatar Lars Hjemli <hjemli@gmail.com>2010-06-19 17:40:23 (JST)
commitc46e468dd229d5a20d99801072b4a8f8d970104f (patch)
treec75f13ee117732ff4a41d8ec05a14e52f5117691
parent48f7b982d3bb52f1307df73ceb6dd4cab3fdcc80 (diff)
downloadcgit-c46e468dd229d5a20d99801072b4a8f8d970104f.zip
cgit-c46e468dd229d5a20d99801072b4a8f8d970104f.tar.gz
ui-diff: Teach diffstat to obey path limit
Also indicate in the diffstat header if a path limit is in effect. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-diff.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ui-diff.c b/ui-diff.c
index a92a768..fb836df 100644
--- a/ui-diff.c
+++ b/ui-diff.c
@@ -154,17 +154,19 @@ static void inspect_filepair(struct diff_filepair *pair)
154} 154}
155 155
156void cgit_print_diffstat(const unsigned char *old_sha1, 156void cgit_print_diffstat(const unsigned char *old_sha1,
157 const unsigned char *new_sha1) 157 const unsigned char *new_sha1, const char *prefix)
158{ 158{
159 int i; 159 int i;
160 160
161 html("<div class='diffstat-header'>"); 161 html("<div class='diffstat-header'>");
162 cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1, 162 cgit_diff_link("Diffstat", NULL, NULL, ctx.qry.head, ctx.qry.sha1,
163 ctx.qry.sha2, NULL, 0); 163 ctx.qry.sha2, NULL, 0);
164 if (prefix)
165 htmlf(" (limited to '%s')", prefix);
164 html("</div>"); 166 html("</div>");
165 html("<table summary='diffstat' class='diffstat'>"); 167 html("<table summary='diffstat' class='diffstat'>");
166 max_changes = 0; 168 max_changes = 0;
167 cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, NULL); 169 cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, prefix);
168 for(i = 0; i<files; i++) 170 for(i = 0; i<files; i++)
169 print_fileinfo(&items[i]); 171 print_fileinfo(&items[i]);
170 html("</table>"); 172 html("</table>");
@@ -338,7 +340,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi
338 use_ssdiff = 1; 340 use_ssdiff = 1;
339 341
340 print_ssdiff_link(); 342 print_ssdiff_link();
341 cgit_print_diffstat(old_rev_sha1, new_rev_sha1); 343 cgit_print_diffstat(old_rev_sha1, new_rev_sha1, prefix);
342 344
343 if (use_ssdiff) { 345 if (use_ssdiff) {
344 html("<table summary='ssdiff' class='ssdiff'>"); 346 html("<table summary='ssdiff' class='ssdiff'>");