Add support for 'remove-suffix' option When this option is enabled, the '.git' suffix of repository directories found while processing the 'scan-path' option will be removed. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Jason A. Donenfeld Jason@zx2c4.com
Thu, 29 Jul 2010 19:47:50 +0200
4 files changed,
13 insertions(+),
0 deletions(-)
M
cgit.c
→
cgit.c
@@ -205,6 +205,8 @@ else if (!strcmp(name, "agefile"))
ctx.cfg.agefile = xstrdup(value); else if (!strcmp(name, "renamelimit")) ctx.cfg.renamelimit = atoi(value); + else if (!strcmp(name, "remove-suffix")) + ctx.cfg.remove_suffix = atoi(value); else if (!strcmp(name, "robots")) ctx.cfg.robots = xstrdup(value); else if (!strcmp(name, "clone-prefix"))@@ -302,6 +304,7 @@ ctx->cfg.max_stats = 0;
ctx->cfg.module_link = "./?repo=%s&page=commit&id=%s"; ctx->cfg.project_list = NULL; ctx->cfg.renamelimit = -1; + ctx->cfg.remove_suffix = 0; ctx->cfg.robots = "index, nofollow"; ctx->cfg.root_title = "Git repository browser"; ctx->cfg.root_desc = "a fast webinterface for the git dscm";
M
cgitrc.5.txt
→
cgitrc.5.txt
@@ -229,6 +229,11 @@ A list of subdirectories inside of scan-path, relative to it, that
should loaded as git repositories. This must be defined prior to scan-path. Default value: none. See also: scan-path. +remove-suffix:: + If set to "1" and scan-path is enabled, if any repositories are found + with a suffix of ".git", this suffix will be removed for the url and + name. Default value: "0". See also: scan-path. + renamelimit:: Maximum number of files to consider when detecting renames. The value "-1" uses the compiletime value in git (for further info, look at@@ -538,3 +543,4 @@
AUTHOR ------ Lars Hjemli <hjemli@gmail.com> +Jason A. Donenfeld <Jason@zx2c4.com>
M
scan-tree.c
→
scan-tree.c
@@ -81,6 +81,9 @@ if (!strcmp(p + strlen(p) - 5, "/.git"))
p[strlen(p) - 5] = '\0'; repo = cgit_add_repo(xstrdup(p)); + if (ctx.cfg.remove_suffix) + if ((p = strrchr(repo->url, '.')) && !strcmp(p, ".git")) + *p = '\0'; repo->name = repo->url; repo->path = xstrdup(path); p = (pwd && pwd->pw_gecos) ? strchr(pwd->pw_gecos, ',') : NULL;