X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/6cb326c83b3c0b35d472305294afee3105b3088d..14d360df60f059b9b5b045fc6df1eec6f0966d9a:/ui-commit.c diff --git a/ui-commit.c b/ui-commit.c index c5ee8e7..73fa104 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) {