1
0
Fork 0

ui-refs.c: improve handling of lightweight tags

When a lightweight tag is referencing a commit object, cgit now uses
the commit date when comparing tag age. Also, the commitdate and author
info is printed in the refs view, making lightweight tags appear similar
to annotated tags.

Signed-off-by: Stefan Bühler <lighttpd@stbuehler.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Dieser Commit ist enthalten in:
Stefan Bühler 2009-08-16 19:35:18 +02:00 committet von Lars Hjemli
Ursprung ff0ff807a3
Commit 1bbe04c2c0
1 geänderte Dateien mit 18 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -46,8 +46,19 @@ static int cmp_tag_age(const void *a, const void *b)
{
struct refinfo *r1 = *(struct refinfo **)a;
struct refinfo *r2 = *(struct refinfo **)b;
int r1date, r2date;
return cmp_age(r1->tag->tagger_date, r2->tag->tagger_date);
if (r1->object->type != OBJ_COMMIT)
r1date = r1->tag->tagger_date;
else
r1date = r1->commit->committer_date;
if (r2->object->type != OBJ_COMMIT)
r2date = r2->tag->tagger_date;
else
r2date = r2->commit->committer_date;
return cmp_age(r1date, r2date);
}
static int print_branch(struct refinfo *ref)
@ -145,6 +156,12 @@ static int print_tag(struct refinfo *ref)
print_tag_downloads(ctx.repo, name);
else
cgit_object_link(ref->object);
html("</td><td>");
if (ref->object->type == OBJ_COMMIT)
html(ref->commit->author);
html("</td><td colspan='2'>");
if (ref->object->type == OBJ_COMMIT)
cgit_print_age(ref->commit->commit->date, -1, NULL);
html("</td></tr>\n");
}
return 0;