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:
rodzic
f527a57c8a
commit
1a6025b7a5
2
cgit.c
2
cgit.c
@ -107,7 +107,7 @@ static void cgit_print_repo_page(struct cacheitem *item)
|
||||
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");
|
||||
|
2
cgit.h
2
cgit.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);
|
||||
|
@ -89,7 +89,7 @@ static void filepair_cb(struct diff_filepair *pair)
|
||||
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 @@ void cgit_print_diff(const char *new_rev, const char *old_rev)
|
||||
}
|
||||
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>");
|
||||
}
|
||||
|
Ładowanie…
Reference in New Issue
Block a user