author | Lars Hjemli <hjemli@gmail.com> | 2007-06-17 13:44:22 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-06-17 13:44:22 (UTC) |
commit | faaca447b071592c9a1e1f14b4d0d2a39b4c795a (patch) (side-by-side diff) | |
tree | 98c53a63df0fd01b4421201d7dadd5ee2351fb1b | |
parent | cd79c16844b4006d4fd6f4b82d2f6e7e19b20c8e (diff) | |
download | cgit-faaca447b071592c9a1e1f14b4d0d2a39b4c795a.zip cgit-faaca447b071592c9a1e1f14b4d0d2a39b4c795a.tar.gz cgit-faaca447b071592c9a1e1f14b4d0d2a39b4c795a.tar.bz2 |
ui-commit: use cgit_commit_link() for parent links
This replaces the old cgit_pageurl() function with the brand new
cgit_commit_link() function, making parent links in commit view preserve
the current branch.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-commit.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/ui-commit.c b/ui-commit.c index 8864fc6..d489d7c 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -170,70 +170,68 @@ void cgit_print_commit(const char *hex) } info = cgit_parse_commit(commit); html("<table class='commit-info'>\n"); html("<tr><th>author</th><td>"); html_txt(info->author); html(" "); html_txt(info->author_email); html("</td><td class='right'>"); cgit_print_date(info->author_date, FMT_LONGDATE); html("</td></tr>\n"); html("<tr><th>committer</th><td>"); html_txt(info->committer); html(" "); html_txt(info->committer_email); html("</td><td class='right'>"); cgit_print_date(info->committer_date, FMT_LONGDATE); html("</td></tr>\n"); html("<tr><th>tree</th><td colspan='2' class='sha1'>"); tmp = xstrdup(hex); cgit_tree_link(sha1_to_hex(commit->tree->object.sha1), NULL, NULL, cgit_query_head, tmp, NULL); html("</td></tr>\n"); for (p = commit->parents; p ; p = p->next) { parent = lookup_commit_reference(p->item->object.sha1); if (!parent) { html("<tr><td colspan='3'>"); cgit_print_error("Error reading parent commit"); html("</td></tr>"); continue; } html("<tr><th>parent</th>" - "<td colspan='2' class='sha1'>" - "<a href='"); - query = fmt("h=%s", sha1_to_hex(p->item->object.sha1)); - html_attr(cgit_pageurl(cgit_query_repo, "commit", query)); - htmlf("'>%s</a> (<a href='", - sha1_to_hex(p->item->object.sha1)); + "<td colspan='2' class='sha1'>"); + cgit_commit_link(sha1_to_hex(p->item->object.sha1), NULL, NULL, + cgit_query_head, sha1_to_hex(p->item->object.sha1)); + html(" (<a href='"); query = fmt("id=%s&id2=%s", sha1_to_hex(parent->tree->object.sha1), sha1_to_hex(commit->tree->object.sha1)); html_attr(cgit_pageurl(cgit_query_repo, "diff", query)); html("'>diff</a>)</td></tr>"); } if (cgit_repo->snapshots) { htmlf("<tr><th>download</th><td colspan='2' class='sha1'><a href='"); filename = fmt("%s-%s.zip", cgit_query_repo, hex); html_attr(cgit_pageurl(cgit_query_repo, "snapshot", fmt("id=%s&name=%s", hex, filename))); htmlf("'>%s</a></td></tr>", filename); } html("</table>\n"); html("<div class='commit-subject'>"); html_txt(info->subject); html("</div>"); html("<div class='commit-msg'>"); html_txt(info->msg); html("</div>"); if (!(commit->parents && commit->parents->next && commit->parents->next->next)) { html("<div class='diffstat-header'>Diffstat</div>"); html("<table class='diffstat'>"); max_changes = 0; cgit_diff_commit(commit, inspect_filepair); for(i = 0; i<files; i++) print_fileinfo(&items[i]); html("</table>"); html("<div class='diffstat-summary'>"); htmlf("%d files changed, %d insertions, %d deletions (", files, total_adds, total_rems); query = fmt("h=%s", hex); html_link_open(cgit_pageurl(cgit_query_repo, "diff", query), NULL, NULL); |