about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStefan Bühler <lighttpd@stbuehler.de>2009-08-16 19:35:18 +0200
committerLars Hjemli <hjemli@gmail.com>2009-08-16 20:53:20 +0200
commit1bbe04c2c09d5dfbb2c66c4f8f490008b6e5fb25 (patch)
tree2f5eff9d46e490de0c6baddbd3c232935f47f534
parentUse GIT-1.6.3.4 (diff)
downloadcgit-pink-1bbe04c2c09d5dfbb2c66c4f8f490008b6e5fb25.tar.gz
cgit-pink-1bbe04c2c09d5dfbb2c66c4f8f490008b6e5fb25.zip
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>
-rw-r--r--ui-refs.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/ui-refs.c b/ui-refs.c
index 25da00a..d3b4f6e 100644
--- a/ui-refs.c
+++ b/ui-refs.c
@@ -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;
2022-03-24Add The Invisible Life of Addie LaRueJune McEnroe So good, but so long. Reminded me of The Ten Thousand Doors of January at the beginning, and more of that N. K. Jemisin series about gods later. I like this interacting with gods and becoming something like one sort of thing. God, it took me a whole month (more?) to read and this is only my third book of the year :( I need some more novellas to read, but the other books I have from the library currently are also thick. 2022-03-22Source ~/.profile.local if it existsJune McEnroe 2022-03-18Publish "Addendum 2021"June McEnroe 2022-03-16Remove wcwidth portJune McEnroe DYLD_FORCE_FLAT_NAMESPACE no longer exists in macOS 12 so this approach doesn't work anymore. Moved to <https://git.causal.agency/jorts/tree/wcwidth> and compiled into <https://git.causal.agency/jorts/tree/ncurses>. 2022-03-16Remove -j4 from ./PlanJune McEnroe Plan learned to set this automatically! 2022-03-15Rewrite Linux install.sh for DebianJune McEnroe 2022-03-15Remove dashJune McEnroe