]> gitweb.ps.run Git - ps-cgit/blobdiff - ui-commit.c
ui-commit: use cgit_commit_link() for parent links
[ps-cgit] / ui-commit.c
index 1d12bbbcaf4a0ab5b7d7fd9c033aa529c099498e..d489d7c2dfb66f90f3b2e94bbe748940345391e9 100644 (file)
@@ -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("</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'><a href='");
-       query = fmt("h=%s&amp;id=%s", sha1_to_hex(commit->object.sha1),
-                   sha1_to_hex(commit->tree->object.sha1));
-       html_attr(cgit_pageurl(cgit_query_repo, "tree", query));
-       htmlf("'>%s</a></td></tr>\n", sha1_to_hex(commit->tree->object.sha1));
+       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) {
@@ -195,12 +199,10 @@ void cgit_print_commit(const char *hex)
                        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&amp;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));