summaryrefslogtreecommitdiffabout
path: root/ui-commit.c
Side-by-side diff
Diffstat (limited to 'ui-commit.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-commit.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/ui-commit.c b/ui-commit.c
index ce33cf9..b3d1c28 100644
--- a/ui-commit.c
+++ b/ui-commit.c
@@ -78,4 +78,4 @@ void print_fileinfo(struct fileinfo *info)
htmlf("</td><td class='%s'>", class);
- query = fmt("id=%s&id2=%s", sha1_to_hex(info->old_sha1),
- sha1_to_hex(info->new_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),
@@ -153,3 +153,3 @@ void cgit_print_commit(const char *hex)
{
- struct commit *commit;
+ struct commit *commit, *parent;
struct commitinfo *info;
@@ -192,2 +192,9 @@ void cgit_print_commit(const char *hex)
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>"
@@ -197,4 +204,8 @@ void cgit_print_commit(const char *hex)
html_attr(cgit_pageurl(cgit_query_repo, "commit", query));
- htmlf("'>%s</a></td></tr>\n",
+ htmlf("'>%s</a> (<a href='",
sha1_to_hex(p->item->object.sha1));
+ 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>");
}