mirror of
https://git.zx2c4.com/cgit
synced 2024-11-23 00:48:42 +00:00
Show tag heading even if first tag is of the lightweight kind
The tag printing code waited for valid tags before printing the table heading, but forgot to count unannotated tags. This fixes it. Noticed by Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
parent
9927e63f38
commit
495e396773
32
ui-summary.c
32
ui-summary.c
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
#include "cgit.h"
|
#include "cgit.h"
|
||||||
|
|
||||||
static int items;
|
static int header;
|
||||||
|
|
||||||
static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
|
static int cgit_print_branch_cb(const char *refname, const unsigned char *sha1,
|
||||||
int flags, void *cb_data)
|
int flags, void *cb_data)
|
||||||
@ -69,6 +69,15 @@ static void cgit_print_object_ref(struct object *obj)
|
|||||||
html_link_close();
|
html_link_close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void print_tag_header()
|
||||||
|
{
|
||||||
|
html("<tr class='nohover'><th class='left'>Tag</th>"
|
||||||
|
"<th class='left'>Created</th>"
|
||||||
|
"<th class='left'>Author</th>"
|
||||||
|
"<th class='left'>Reference</th></tr>\n");
|
||||||
|
header = 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
|
static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
|
||||||
int flags, void *cb_data)
|
int flags, void *cb_data)
|
||||||
{
|
{
|
||||||
@ -85,13 +94,8 @@ static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
|
|||||||
tag = lookup_tag(sha1);
|
tag = lookup_tag(sha1);
|
||||||
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
|
if (!tag || parse_tag(tag) || !(info = cgit_parse_tag(tag)))
|
||||||
return 2;
|
return 2;
|
||||||
if (!items) {
|
if (!header)
|
||||||
html("<tr class='nohover'><th class='left'>Tag</th>"
|
print_tag_header();
|
||||||
"<th class='left'>Created</th>"
|
|
||||||
"<th class='left'>Author</th>"
|
|
||||||
"<th class='left'>Reference</th></tr>\n");
|
|
||||||
}
|
|
||||||
items++;
|
|
||||||
html("<tr><td>");
|
html("<tr><td>");
|
||||||
url = cgit_pageurl(cgit_query_repo, "view",
|
url = cgit_pageurl(cgit_query_repo, "view",
|
||||||
fmt("id=%s", sha1_to_hex(sha1)));
|
fmt("id=%s", sha1_to_hex(sha1)));
|
||||||
@ -108,6 +112,8 @@ static int cgit_print_tag_cb(const char *refname, const unsigned char *sha1,
|
|||||||
cgit_print_object_ref(tag->tagged);
|
cgit_print_object_ref(tag->tagged);
|
||||||
html("</td></tr>\n");
|
html("</td></tr>\n");
|
||||||
} else {
|
} else {
|
||||||
|
if (!header)
|
||||||
|
print_tag_header();
|
||||||
html("<tr><td>");
|
html("<tr><td>");
|
||||||
html_txt(buf);
|
html_txt(buf);
|
||||||
html("</td><td colspan='2'/><td>");
|
html("</td><td colspan='2'/><td>");
|
||||||
@ -139,11 +145,11 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
|
|||||||
} else if (obj->type != OBJ_BLOB) {
|
} else if (obj->type != OBJ_BLOB) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!items) {
|
if (!header) {
|
||||||
html("<table>");
|
html("<table>");
|
||||||
html("<tr><th>Downloads</th></tr>");
|
html("<tr><th>Downloads</th></tr>");
|
||||||
|
header = 1;
|
||||||
}
|
}
|
||||||
items++;
|
|
||||||
html("<tr><td>");
|
html("<tr><td>");
|
||||||
url = cgit_pageurl(cgit_query_repo, "blob",
|
url = cgit_pageurl(cgit_query_repo, "blob",
|
||||||
fmt("id=%s&path=%s", sha1_to_hex(sha1),
|
fmt("id=%s&path=%s", sha1_to_hex(sha1),
|
||||||
@ -166,15 +172,15 @@ static void cgit_print_branches()
|
|||||||
|
|
||||||
static void cgit_print_tags()
|
static void cgit_print_tags()
|
||||||
{
|
{
|
||||||
items = 0;
|
header = 0;
|
||||||
for_each_tag_ref(cgit_print_tag_cb, NULL);
|
for_each_tag_ref(cgit_print_tag_cb, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void cgit_print_archives()
|
static void cgit_print_archives()
|
||||||
{
|
{
|
||||||
items = 0;
|
header = 0;
|
||||||
for_each_ref(cgit_print_archive_cb, NULL);
|
for_each_ref(cgit_print_archive_cb, NULL);
|
||||||
if (items)
|
if (header)
|
||||||
html("</table>");
|
html("</table>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user