From 3896a932657d209ddf4a3e72f701197ae0b27361 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Mon, 24 Aug 2026 15:33:32 -1000 Subject: Fix the submodule rows in the tree listing A submodule row linked to a path with its trailing slash stripped, was labelled by its path rather than its entry name, shared the name's element with its hash, claimed a size of zero and offered a blame button that cannot work on a gitlink. --- source/ui-tree.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'source/ui-tree.c') diff --git a/source/ui-tree.c b/source/ui-tree.c index cf3938e..ce57f92 100644 --- a/source/ui-tree.c +++ b/source/ui-tree.c @@ -333,7 +333,10 @@ static void print_ls_row(const struct object_id *oid, const char *pathname, free(buf); strbuf_release(&linkpath); } - htmlf("%lu", size); + if (S_ISGITLINK(mode)) + html("-"); + else + htmlf("%lu", size); html(""); cgit_log_link("log", NULL, "button", ctx.qry.head, @@ -345,7 +348,7 @@ static void print_ls_row(const struct object_id *oid, const char *pathname, if (!S_ISGITLINK(mode)) cgit_plain_link("plain", NULL, "button", ctx.qry.head, walk->rev, fullpath.buf); - if (!S_ISDIR(mode) && ctx.repo->enable_blame) + if (!S_ISDIR(mode) && !S_ISGITLINK(mode) && ctx.repo->enable_blame) cgit_blame_link("blame", NULL, "button", ctx.qry.head, walk->rev, fullpath.buf); html("\n"); -- cgit v2.8.0