From 723ba6c1ff41bcd12b679302b3a0776540e454a4 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Thu, 29 Oct 2026 13:31:07 -1000 Subject: Offer the versions as an option enable-version-info brings back the cgit and git versions that 3a00e19 took off the footer and the generator tag, for a site that wants them, and the version 2a6726a put on the signature of patches now follows it too. It stays off by default for the reason 3a00e19 gave. --- source/cgit.c | 2 ++ source/cgit.h | 1 + source/ui-patch.c | 8 ++++++-- source/ui-shared.c | 10 +++++++++- 4 files changed, 18 insertions(+), 3 deletions(-) (limited to 'source') diff --git a/source/cgit.c b/source/cgit.c index efcb703..eaf1d19 100644 --- a/source/cgit.c +++ b/source/cgit.c @@ -586,6 +586,8 @@ static void apply_config(const char *name, const char *value) ctx.cfg.enable_html_serving = atoi(value); else if (!strcmp(name, "enable-tree-linenumbers")) ctx.cfg.enable_tree_linenumbers = atoi(value); + else if (!strcmp(name, "enable-version-info")) + ctx.cfg.enable_version_info = atoi(value); else if (!strcmp(name, "enable-tree-group-dirs")) ctx.cfg.enable_tree_group_dirs = atoi(value); else if (!strcmp(name, "enable-git-config")) diff --git a/source/cgit.h b/source/cgit.h index c04193f..5e17a3e 100644 --- a/source/cgit.h +++ b/source/cgit.h @@ -227,6 +227,7 @@ struct cgit_config { int embedded; int trust_scan_config; int enable_follow_links; + int enable_version_info; int enable_gitmodules_links; int enable_header; int enable_http_clone; diff --git a/source/ui-patch.c b/source/ui-patch.c index 78c850c..04083fe 100644 --- a/source/ui-patch.c +++ b/source/ui-patch.c @@ -132,7 +132,8 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, const char *pref cgit_print_http_headers(); // git format-patch signs with its bare version number, so the v that - // cgit's tags carry is left off to read the same way. + // cgit's tags carry is left off to read the same way. Without + // enable-version-info the signature names cgit alone. if (!skip_prefix(cgit_version, "v", &version)) version = cgit_version; @@ -141,6 +142,9 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, const char *pref // Two dashes and a space is the mail signature separator, so // git am and mail readers drop the version note below rather // than carrying it into the commit message. - printf("-- \ncgit %s\n\n", version); + if (ctx.cfg.enable_version_info) + printf("-- \ncgit %s\n\n", version); + else + printf("-- \ncgit\n\n"); } } diff --git a/source/ui-shared.c b/source/ui-shared.c index 8da9878..936a6a4 100644 --- a/source/ui-shared.c +++ b/source/ui-shared.c @@ -1558,7 +1558,10 @@ void cgit_print_docstart(void) html_attr(ctx.cfg.root_desc); html("'>\n"); } - html("\n"); + if (ctx.cfg.enable_version_info) + htmlf("\n", cgit_version); + else + html("\n"); if (ctx.cfg.robots && *ctx.cfg.robots) { html("generated by " + "cgit %s " + "(git %s)\n", + cgit_version, git_version_string); else html("\n"); html("\n"); -- cgit