X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/5db39170b6c979655a0238dcd627e206febed88b..faaca447b071592c9a1e1f14b4d0d2a39b4c795a:/ui-commit.c diff --git a/ui-commit.c b/ui-commit.c index 59eeb1d..d489d7c 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -75,7 +75,7 @@ void print_fileinfo(struct fileinfo *info) html("]"); } htmlf("", class); - query = fmt("id=%s&id2=%s&path=%s", sha1_to_hex(info->old_sha1), + query = fmt("id=%s&id2=%s&path=%s", sha1_to_hex(info->old_sha1), sha1_to_hex(info->new_sha1), info->new_path); html_link_open(cgit_pageurl(cgit_query_repo, "diff", query), NULL, NULL); @@ -103,7 +103,7 @@ void print_fileinfo(struct fileinfo *info) info->removed * 100.0 / max_changes); htmlf("", (max_changes - info->removed - info->added) * 100.0 / max_changes); - html("\n"); + html("\n"); } void cgit_count_diff_lines(char *line, int len) @@ -153,8 +153,12 @@ void cgit_print_commit(const char *hex) unsigned char sha1[20]; char *query; char *filename; + char *tmp; int i; + if (!hex) + hex = cgit_query_head; + if (get_sha1(hex, sha1)) { cgit_print_error(fmt("Bad object id: %s", hex)); return; @@ -181,11 +185,11 @@ void cgit_print_commit(const char *hex) html(""); cgit_print_date(info->committer_date, FMT_LONGDATE); html("\n"); - html("tree%s\n", sha1_to_hex(commit->tree->object.sha1)); + html("tree"); + tmp = xstrdup(hex); + cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, + cgit_query_head, tmp, NULL); + html("\n"); for (p = commit->parents; p ; p = p->next) { parent = lookup_commit_reference(p->item->object.sha1); if (!parent) { @@ -195,13 +199,11 @@ void cgit_print_commit(const char *hex) continue; } html("parent" - "" - "%s ("); + cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL, + cgit_query_head, sha1_to_hex(p->item->object.sha1)); + html(" (diff)"); @@ -210,7 +212,7 @@ void cgit_print_commit(const char *hex) htmlf("download%s", filename); } html("\n");