author | Lars Hjemli <hjemli@gmail.com> | 2007-07-22 21:42:55 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-07-22 21:44:57 (UTC) |
commit | 4e9107abfe8d3edff17826875b417bcf40dc7390 (patch) (side-by-side diff) | |
tree | 96cfafa9b8838f34e1363ee3019eae64a6229b30 /ui-summary.c | |
parent | 71ebcbe23ab548e5c0ad40aa8be5741654ed3201 (diff) | |
download | cgit-4e9107abfe8d3edff17826875b417bcf40dc7390.zip cgit-4e9107abfe8d3edff17826875b417bcf40dc7390.tar.gz cgit-4e9107abfe8d3edff17826875b417bcf40dc7390.tar.bz2 |
Add ui-tag.c
This file implements the tag-command, i.e. printing of annotated tags.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-summary.c | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/ui-summary.c b/ui-summary.c index b4bc6d8..de8a180 100644 --- a/ui-summary.c +++ b/ui-summary.c @@ -44,37 +44,12 @@ static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1, html("</td></tr>\n"); } free(ref); return 0; } - -static void cgit_print_object_ref(struct object *obj) -{ - char *page, *arg, *url; - - if (obj->type == OBJ_COMMIT) { - cgit_commit_link(fmt("commit %s", sha1_to_hex(obj->sha1)), NULL, NULL, - cgit_query_head, sha1_to_hex(obj->sha1)); - return; - } else if (obj->type == OBJ_TREE) { - page = "tree"; - arg = "id"; - } else { - page = "view"; - arg = "id"; - } - - url = cgit_pageurl(cgit_query_repo, page, - fmt("%s=%s", arg, sha1_to_hex(obj->sha1))); - html_link_open(url, NULL, NULL); - htmlf("%s %s", typename(obj->type), - sha1_to_hex(obj->sha1)); - html_link_close(); -} - static void print_tag_header() { html("<tr class='nohover'><th class='left'>Tag</th>" "<th class='left'>Age</th>" "<th class='left'>Author</th>" "<th class='left'>Reference</th></tr>\n"); @@ -97,33 +72,33 @@ static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1, tag = lookup_tag(sha1); if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) return 2; if (!header) print_tag_header(); html("<tr><td>"); - url = cgit_pageurl(cgit_query_repo, "view", - fmt("id=%s", sha1_to_hex(sha1))); + url = cgit_pageurl(cgit_query_repo, "tag", + fmt("id=%s", refname)); html_link_open(url, NULL, NULL); html_txt(buf); html_link_close(); html("</td><td>"); if (info->tagger_date > 0) cgit_print_age(info->tagger_date, -1, NULL); html("</td><td>"); if (info->tagger) html(info->tagger); html("</td><td>"); - cgit_print_object_ref(tag->tagged); + cgit_object_link(tag->tagged); html("</td></tr>\n"); } else { if (!header) print_tag_header(); html("<tr><td>"); html_txt(buf); html("</td><td colspan='2'/><td>"); - cgit_print_object_ref(obj); + cgit_object_link(obj); html("</td></tr>\n"); } return 0; } static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1, |