about summary refs log tree commit diff
path: root/cgit.c
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2009-08-24 08:53:21 +0200
committerLars Hjemli <hjemli@gmail.com>2009-08-24 10:22:59 +0200
commit2273c2c821bfc77d492d7e97ae38f162d7fc91aa (patch)
tree688acf38d828122c86af88585cd89dbf23efc239 /cgit.c
parentcgitrc.5.txt: fix markup errors (diff)
downloadcgit-pink-2273c2c821bfc77d492d7e97ae38f162d7fc91aa.tar.gz
cgit-pink-2273c2c821bfc77d492d7e97ae38f162d7fc91aa.zip
Add config option 'enable-filter-overrides'
This option must be enabled if repo-specific cgitrc files should be
allowed to override any of the 'filter' options.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/cgit.c b/cgit.c
index 167b5dd..f1ea03c 100644
--- a/cgit.c
+++ b/cgit.c
@@ -66,17 +66,18 @@ void repo_config(struct cgit_repo *repo, const char *name, const char *value)
 		repo->module_link= xstrdup(value);
 	else if (!strcmp(name, "section"))
 		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) {
 		if (*value == '/')
 			ctx.repo->readme = xstrdup(value);
 		else
 			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);
 	}
 }
 
@@ -128,6 +129,8 @@ void config_cb(const char *name, const char *value)
 		ctx.cfg.noheader = atoi(value);
 	else if (!strcmp(name, "snapshots"))
 		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"))
 		ctx.cfg.enable_index_links = atoi(value);
 	else if (!strcmp(name, "enable-log-filecount"))