diff --git a/ui-shared.c b/ui-shared.c
index fdc4c91..5fa0774 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -936,6 +936,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 (get_oid(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 char *refname, const struct object_id *oid,
int flags, void *cb_data)
{
@@ -1043,11 +1052,14 @@ static void print_header(void)
html("<form method='get'>\n");
cgit_add_hidden_formfields(0, 1, ctx.qry.page);
html("<select name='h' onchange='this.form.submit();'>\n");
+ print_this_commit_option();
+ html("<optgroup label='branches'>");
refs_for_each_branch_ref(get_main_ref_store(the_repository),
print_branch_option, ctx.qry.head);
if (ctx.repo->enable_remote_branches)
refs_for_each_remote_ref(get_main_ref_store(the_repository),
print_branch_option, ctx.qry.head);
+ html("</optgroup>");
html("</select> ");
html("<input type='submit' value='switch'/>");
html("</form>");
|