X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/8eef4589d0ba80fd4e6a9ce2f3ca4fcf266a64e0..d7034806a4b1279f62d606501f831dcad31798e6:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index 23a893b..4f84b7c 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -559,25 +559,32 @@ void cgit_submodule_link(const char *class, char *path, const char *rev) item = lookup_path(list, path); } } - html("module_link, dir, rev); + if (item || ctx.repo->module_link) { + html("module_link, dir, rev); + } + html("'>"); + html_txt(path); + html(""); } else { - html("#"); + html(""); + html_txt(path); + html(""); } - html("'>"); - html_txt(path); - html(""); html_txtf(" @ %.7s", rev); if (item && tail) path[len - 1] = tail; @@ -682,6 +689,14 @@ void cgit_print_http_headers(void) exit(0); } +void cgit_redirect(const char *url, bool permanent) +{ + htmlf("Status: %d %s\n", permanent ? 301 : 302, permanent ? "Moved" : "Found"); + htmlf("Location: %s\n", url); + htmlf("\n"); + exit(0); +} + static void print_rel_vcs_link(const char *url) { html("\n"); for_each_branch_ref(print_branch_option, ctx.qry.head); + if (ctx.repo->enable_remote_branches) + for_each_remote_ref(print_branch_option, ctx.qry.head); html(" "); html(""); html("");