ui-diff: fix links from diffstat
The links in the diffstat is supposed to work as a filter for the diff, but this only worked when a single rev was supplied, i.e. the filtered diff was always against the parent of the specified rev. With this patch it is now possible to use the diffstat as a 'filter menu' for urls like http://hjemli.net/git/cgit/diff/?id=v0.7.2&id2=v0.7.1 Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
szülő
06e14dc61c
commit
04619c9b85
@ -16,7 +16,6 @@ unsigned char new_rev_sha1[20];
|
||||
static int files, slots;
|
||||
static int total_adds, total_rems, max_changes;
|
||||
static int lines_added, lines_removed;
|
||||
static char *curr_rev;
|
||||
|
||||
static struct fileinfo {
|
||||
char status;
|
||||
@ -80,8 +79,8 @@ static void print_fileinfo(struct fileinfo *info)
|
||||
html("]</span>");
|
||||
}
|
||||
htmlf("</td><td class='%s'>", class);
|
||||
cgit_diff_link(info->new_path, NULL, NULL, ctx.qry.head, curr_rev,
|
||||
NULL, info->new_path);
|
||||
cgit_diff_link(info->new_path, NULL, NULL, ctx.qry.head, ctx.qry.sha1,
|
||||
ctx.qry.sha2, info->new_path);
|
||||
if (info->status == DIFF_STATUS_COPIED || info->status == DIFF_STATUS_RENAMED)
|
||||
htmlf(" (%s from %s)",
|
||||
info->status == DIFF_STATUS_COPIED ? "copied" : "renamed",
|
||||
@ -145,7 +144,6 @@ void cgit_print_diffstat(const unsigned char *old_sha1,
|
||||
html("<div class='diffstat-header'>Diffstat</div>");
|
||||
html("<table summary='diffstat' class='diffstat'>");
|
||||
max_changes = 0;
|
||||
curr_rev = xstrdup(sha1_to_hex(new_sha1));
|
||||
cgit_diff_tree(old_sha1, new_sha1, inspect_filepair, NULL);
|
||||
for(i = 0; i<files; i++)
|
||||
print_fileinfo(&items[i]);
|
||||
|
Betöltés…
Reference in New Issue
Block a user