all repos — cgit @ 1a6025b7a515a23ab4c83f4a5da468e00e4f0a38

a hyperfast web frontend for git written in c

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>
Lars Hjemli hjemli@gmail.com
Mon, 01 Oct 2007 11:46:38 +0200
commit

1a6025b7a515a23ab4c83f4a5da468e00e4f0a38

parent

f527a57c8a55f5fd315e1bc1cb338f5f4a9b20ae

3 files changed, 4 insertions(+), 4 deletions(-)

jump to
M cgit.ccgit.c

@@ -107,7 +107,7 @@ case CMD_TAG:

cgit_print_tag(cgit_query_sha1); break; 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; default: cgit_print_error("Invalid request");
M cgit.hcgit.h

@@ -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_commit(char *hex); 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, const char *hex, const char *prefix, const char *filename, int snapshot);
M ui-diff.cui-diff.c

@@ -89,7 +89,7 @@ if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line))

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]; enum object_type type;

@@ -133,7 +133,7 @@ cgit_print_error(fmt("Bad commit: %s", sha1_to_hex(sha2)));

} html("<table class='diff'>"); html("<tr><td>"); - cgit_diff_tree(sha2, sha1, filepair_cb, NULL); + cgit_diff_tree(sha2, sha1, filepair_cb, prefix); html("</td></tr>"); html("</table>"); }