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, "hide")) {
+ repo->hide = atoi(value);
+ } else if (!strcmp(name, "ignore")) {
+ repo->ignore = atoi(value);
}
}
else if (repo->commit_sort == 2)
fprintf(f, "repo.commit-sort=topo\n");
}
+ fprintf(f, "repo.hide=%d\n", repo->hide);
+ fprintf(f, "repo.ignore=%d\n", repo->ignore);
fprintf(f, "\n");
}
struct cgit_filter *email_filter;
struct cgit_filter *owner_filter;
struct string_list submodules;
+ int hide;
+ int ignore;
};
typedef void (*repo_config_fn)(struct cgit_repo *repo, const char *name,
A flag which can be used to override the global setting
`enable-subject-links'. Default value: none.
+repo.hide::
+ Flag which, when set to "1", hides the repository from the repository
+ index. The repository can still be accessed by providing a direct path.
+ Default value: "0". See also: "repo.ignore".
+
+repo.ignore::
+ Flag which, when set to "1", ignores the repository. The repository
+ is not shown in the index and cannot be accessed by providing a direct
+ path. Default value: "0". See also: "repo.hide".
+
repo.logo::
Url which specifies the source of an image which will be used as a logo
on this repo's pages. Default value: global logo.
ret->owner_filter = ctx.cfg.owner_filter;
ret->clone_url = ctx.cfg.clone_url;
ret->submodules.strdup_strings = 1;
+ ret->hide = ret->ignore = 0;
return ret;
}
for (i = 0; i < cgit_repolist.count; i++) {
repo = &cgit_repolist.repos[i];
+ if (repo->ignore)
+ continue;
if (!strcmp(repo->url, url))
return repo;
}
html("<table summary='repository list' class='list nowrap'>");
for (i = 0; i < cgit_repolist.count; i++) {
ctx.repo = &cgit_repolist.repos[i];
+ if (ctx.repo->hide || ctx.repo->ignore)
+ continue;
if (!(is_match(ctx.repo) && is_in_url(ctx.repo)))
continue;
hits++;