summary refs log tree commit diff
path: root/ui-diff.c
diff options
context:
space:
mode:
authorJohan Herland <johan@herland.net>2010-06-10 01:09:31 +0200
committerLars Hjemli <hjemli@gmail.com>2010-06-19 10:40:23 +0200
commitc46e468dd229d5a20d99801072b4a8f8d970104f (patch)
treec75f13ee117732ff4a41d8ec05a14e52f5117691 /ui-diff.c
parent48f7b982d3bb52f1307df73ceb6dd4cab3fdcc80 (diff)
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>
Diffstat (limited to 'ui-diff.c')
-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)
 }
 
 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>");
@@ -338,7 +340,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefi
 		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'>");