mirror of
https://git.zx2c4.com/cgit
synced 2024-11-25 18:08:41 +00:00
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:
parent
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);
|
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
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_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);
|
||||||
|
@ -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>");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user