Add prefix parameter to cgit_print_diff()

This allows a diff to be restricted to the path prefix specified in the url.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
Lars Hjemli 2007-10-01 11:46:38 +02:00
parent f527a57c8a
commit 1a6025b7a5
3 changed files with 4 additions and 4 deletions

2
cgit.c
View File

@ -107,7 +107,7 @@ static void cgit_print_repo_page(struct cacheitem *item)
cgit_print_tag(cgit_query_sha1); cgit_print_tag(cgit_query_sha1);
break; break;
case CMD_DIFF: case CMD_DIFF:
cgit_print_diff(cgit_query_sha1, cgit_query_sha2); cgit_print_diff(cgit_query_sha1, cgit_query_sha2, cgit_query_path);
break; break;
default: default:
cgit_print_error("Invalid request"); cgit_print_error("Invalid request");

2
cgit.h
View File

@ -238,7 +238,7 @@ extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path)
extern void cgit_print_tree(const char *rev, char *path); extern void cgit_print_tree(const char *rev, char *path);
extern void cgit_print_commit(char *hex); extern void cgit_print_commit(char *hex);
extern void cgit_print_tag(char *revname); extern void cgit_print_tag(char *revname);
extern void cgit_print_diff(const char *new_hex, const char *old_hex); extern void cgit_print_diff(const char *new_hex, const char *old_hex, const char *prefix);
extern void cgit_print_snapshot(struct cacheitem *item, const char *head, extern void cgit_print_snapshot(struct cacheitem *item, const char *head,
const char *hex, const char *prefix, const char *hex, const char *prefix,
const char *filename, int snapshot); const char *filename, int snapshot);

View File

@ -89,7 +89,7 @@ static void filepair_cb(struct diff_filepair *pair)
cgit_print_error("Error running diff"); cgit_print_error("Error running diff");
} }
void cgit_print_diff(const char *new_rev, const char *old_rev) void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefix)
{ {
unsigned char sha1[20], sha2[20]; unsigned char sha1[20], sha2[20];
enum object_type type; enum object_type type;
@ -133,7 +133,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev)
} }
html("<table class='diff'>"); html("<table class='diff'>");
html("<tr><td>"); html("<tr><td>");
cgit_diff_tree(sha2, sha1, filepair_cb, NULL); cgit_diff_tree(sha2, sha1, filepair_cb, prefix);
html("</td></tr>"); html("</td></tr>");
html("</table>"); html("</table>");
} }