-rw-r--r-- | cgit.c | 15 | ||||
-rw-r--r-- | cgit.h | 1 | ||||
-rw-r--r-- | cgitrc.5.txt | 21 |
3 files changed, 26 insertions, 11 deletions
@@ -68,8 +68,2 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value) repo->section = xstrdup(value); - else if (!strcmp(name, "about-filter")) - repo->about_filter = new_filter(value, 0); - else if (!strcmp(name, "commit-filter")) - repo->commit_filter = new_filter(value, 0); - else if (!strcmp(name, "source-filter")) - repo->source_filter = new_filter(value, 1); else if (!strcmp(name, "readme") && value != NULL) { @@ -79,2 +73,9 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value) ctx.repo->readme = xstrdup(fmt("%s/%s", ctx.repo->path, value)); + } else if (ctx.cfg.enable_filter_overrides) { + if (!strcmp(name, "about-filter")) + repo->about_filter = new_filter(value, 0); + else if (!strcmp(name, "commit-filter")) + repo->commit_filter = new_filter(value, 0); + else if (!strcmp(name, "source-filter")) + repo->source_filter = new_filter(value, 1); } @@ -130,2 +131,4 @@ void config_cb(const char *name, const char *value) ctx.cfg.snapshots = cgit_parse_snapshots_mask(value); + else if (!strcmp(name, "enable-filter-overrides")) + ctx.cfg.enable_filter_overrides = atoi(value); else if (!strcmp(name, "enable-index-links")) @@ -176,2 +176,3 @@ struct cgit_config { int embedded; + int enable_filter_overrides; int enable_index_links; diff --git a/cgitrc.5.txt b/cgitrc.5.txt index 46df291..617b7c3 100644 --- a/cgitrc.5.txt +++ b/cgitrc.5.txt @@ -90,2 +90,6 @@ embedded:: +enable-filter-overrides:: + Flag which, when set to "1", allows all filter settings to be + overridden in repository-specific cgitrc files. Default value: none. + enable-index-links:: @@ -268,3 +272,4 @@ REPOSITORY SETTINGS repo.about-filter:: - Override the default about-filter. Default value: <about-filter>. + Override the default about-filter. Default value: none. See also: + "enable-filter-overrides". @@ -275,3 +280,4 @@ repo.clone-url:: repo.commit-filter:: - Override the default commit-filter. Default value: <commit-filter>. + Override the default commit-filter. Default value: none. See also: + "enable-filter-overrides". @@ -322,3 +328,4 @@ repo.section:: repo.source-filter:: - Override the default source-filter. Default value: <source-filter>. + Override the default source-filter. Default value: none. See also: + "enable-filter-overrides". @@ -334,4 +341,8 @@ will try to parse the file "cgitrc" within any found repository. Such a repo-specific config file may contain any of the repo-specific options -described above, except "repo.url" and "repo.path". Also, in a repo-specific -config file, the "repo." prefix is dropped from the config option names. +described above, except "repo.url" and "repo.path". Additionally, the "filter" +options are only acknowledged in repo-specific config files when +"enable-filter-overrides" is set to "1". + +Note: the "repo." prefix is dropped from the option names in repo-specific +config files, e.g. "repo.desc" becomes "desc". |