From 55f8359c0b18e6f2c182fd14132d1d58fb39b6d1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 21 May 2026 14:17:50 +0200 Subject: ui-shared: add "this commit" option to switch form Branches are grouped into their own section to make the "this commit" option visually distinct. Adding this option will result in two options being marked as selected if a branch has the same name as a commit oid. But that would cause all sorts of other problems anyway (attempting to switch to the branch would actually give you the commit, etc.), so let's not worry about that. A "permalink" link on the blob view next to the "plain" link would probably be more discoverable, but that would only work for the blob view. The switch UI is visible everywhere. Signed-off-by: Alyssa Ross --- ui-shared.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ui-shared.c b/ui-shared.c index 0734711..9b602cc 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -947,6 +947,15 @@ void cgit_add_clone_urls(void (*fn)(const char *)) add_clone_urls(fn, ctx.cfg.clone_prefix, ctx.repo->url); } +static int print_this_commit_option(void) +{ + struct object_id oid; + if (repo_get_oid(the_repository, ctx.qry.head, &oid)) + return 1; + html_option(oid_to_hex(&oid), "this commit", ctx.qry.head); + return 0; +} + static int print_branch_option(const struct reference *ref, void *cb_data) { char *name = (char *)ref->name; @@ -1053,11 +1062,14 @@ static void print_header(void) html("
\n"); cgit_add_hidden_formfields(0, 1, ctx.qry.page); html(" "); html(""); html("
"); -- cgit v1.2.3