summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-tag.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ui-tag.c b/ui-tag.c
index 0e056e0..8c263ab 100644
--- a/ui-tag.c
+++ b/ui-tag.c
@@ -28,25 +28,28 @@ static void print_tag_content(char *buf)
html_txt(++p);
html("</div>");
}
}
void cgit_print_tag(char *revname)
{
unsigned char sha1[20];
struct object *obj;
struct tag *tag;
struct taginfo *info;
- if (get_sha1(revname, sha1)) {
+ if (!revname)
+ revname = ctx.qry.head;
+
+ if (get_sha1(fmt("refs/tags/%s", revname), sha1)) {
cgit_print_error(fmt("Bad tag reference: %s", revname));
return;
}
obj = parse_object(sha1);
if (!obj) {
cgit_print_error(fmt("Bad object id: %s", sha1_to_hex(sha1)));
return;
}
if (obj->type == OBJ_TAG) {
tag = lookup_tag(sha1);
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag))) {
cgit_print_error(fmt("Bad tag object: %s", revname));