X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/6cb326c83b3c0b35d472305294afee3105b3088d..1b49de3c2c52e29c78f870826b6334abdadc0295:/ui-commit.c diff --git a/ui-commit.c b/ui-commit.c index c5ee8e7..3618800 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -46,15 +46,23 @@ void print_filepair(struct diff_filepair *pair) html(""); htmlf(""); - html_filemode(pair->two->mode); - if (pair->one->mode != pair->two->mode) { + if (is_null_sha1(pair->two->sha1)) { + html_filemode(pair->one->mode); + } else { + html_filemode(pair->two->mode); + } + + if (pair->one->mode != pair->two->mode && + !is_null_sha1(pair->one->sha1) && + !is_null_sha1(pair->two->sha1)) { html("["); html_filemode(pair->one->mode); html("]"); } htmlf("", class); - query = fmt("id=%s", sha1_to_hex(pair->two->sha1)); - html_link_open(cgit_pageurl(cgit_query_repo, "view", query), + query = fmt("id=%s&id2=%s", sha1_to_hex(pair->one->sha1), + sha1_to_hex(pair->two->sha1)); + html_link_open(cgit_pageurl(cgit_query_repo, "diff", query), NULL, NULL); if (pair->status == DIFF_STATUS_COPIED || pair->status == DIFF_STATUS_RENAMED) { @@ -120,6 +128,7 @@ void cgit_print_commit(const char *hex) struct commit_list *p; unsigned char sha1[20]; char *query; + char *filename; if (get_sha1(hex, sha1)) { cgit_print_error(fmt("Bad object id: %s", hex)); @@ -160,6 +169,14 @@ void cgit_print_commit(const char *hex) htmlf("'>%s\n", sha1_to_hex(p->item->object.sha1)); } + if (cgit_repo->snapshots) { + htmlf("download%s", filename); + } + html("\n"); html("
"); html_txt(info->subject);