aboutsummaryrefslogtreecommitdiff
path: root/cgit.c
diff options
from:
to:
context:
space:
mode:
Diffstat (limited to 'cgit.c')
-rw-r--r--cgit.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/cgit.c b/cgit.c
index c21117e..97a4180 100644
--- a/cgit.c
+++ b/cgit.c
@@ -58,6 +58,10 @@ void cgit_repo_config(struct cgit_repo *repo, const char *name, const char *valu
repo->homepage = strdup_first_line(value);
else if (!strcmp(name, "ci-url")) {
repo->ci_url = strdup_first_line(value);
+ /* An explicit repo.ci-url would otherwise never be used
+ * when the more specific urls are inherited from the
+ * global settings, so discard those.
+ */
if (repo->ci_branch_url == ctx.cfg.ci_branch_url)
repo->ci_branch_url = NULL;
if (repo->ci_tag_url == ctx.cfg.ci_tag_url)
@@ -132,6 +136,8 @@ void cgit_repo_config(struct cgit_repo *repo, const char *name, const char *valu
repo->email_filter = cgit_new_filter(value, EMAIL);
else if (!strcmp(name, "owner-filter"))
repo->owner_filter = cgit_new_filter(value, OWNER);
+ else if (!strcmp(name, "ci-filter"))
+ repo->ci_filter = cgit_new_filter(value, CI);
}
}
@@ -249,6 +255,8 @@ static void config_cb(const char *name, const char *value)
ctx.cfg.owner_filter = cgit_new_filter(value, OWNER);
else if (!strcmp(name, "auth-filter"))
ctx.cfg.auth_filter = cgit_new_filter(value, AUTH);
+ else if (!strcmp(name, "ci-filter"))
+ ctx.cfg.ci_filter = cgit_new_filter(value, CI);
else if (!strcmp(name, "embedded"))
ctx.cfg.embedded = atoi(value);
else if (!strcmp(name, "max-atom-items"))
@@ -859,6 +867,8 @@ static void print_repo(FILE *f, struct cgit_repo *repo)
cgit_fprintf_filter(repo->email_filter, f, "repo.email-filter=");
if (repo->owner_filter && repo->owner_filter != ctx.cfg.owner_filter)
cgit_fprintf_filter(repo->owner_filter, f, "repo.owner-filter=");
+ if (repo->ci_filter && repo->ci_filter != ctx.cfg.ci_filter)
+ cgit_fprintf_filter(repo->ci_filter, f, "repo.ci-filter=");
if (repo->snapshots != ctx.cfg.snapshots) {
char *tmp = build_snapshot_setting(repo->snapshots);
fprintf(f, "repo.snapshots=%s\n", tmp ? tmp : "");