From 521e10c884055c800078e6dada97ccf6c5193aad Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Tue, 9 Oct 2012 06:56:14 -0400 Subject: scan-tree: Unify gitweb.* and cgit.* settings into one config option. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After some back and forth with Jamie and René, it looks like the git config semantics are going to be like this: - gitweb.category maps to the cgit repo config key "section" - gitweb.description maps to the cgit repo config key "desc" - gitweb.owner maps to the cgit repo config key "owner" - cgit.* maps to all cgit repo config keys This option can be enabled with "enable-git-config=1", and replaces all previous "enable-gitweb-*" config keys. The order of operations is as follows: - git config settings are applied in the order that they exist in the git config file - if the owner is not set from git config, get the owner using the usual getpwuid call - if the description is not set from git config, look inside the static $path/description file - if section-from-path=1, override whatever previous settings were inside of git config using the section-from-path logic - parse $path/cgitrc for local repo.* settings, that override all previous settings --- shared.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'shared.c') diff --git a/shared.c b/shared.c index 0a0e22e..3e20937 100644 --- a/shared.c +++ b/shared.c @@ -33,6 +33,7 @@ int chk_non_negative(int result, char *msg) return result; } +char *cgit_default_repo_desc = "[no description]"; struct cgit_repo *cgit_add_repo(const char *url) { struct cgit_repo *ret; @@ -52,7 +53,7 @@ struct cgit_repo *cgit_add_repo(const char *url) ret->url = trim_end(url, '/'); ret->name = ret->url; ret->path = NULL; - ret->desc = "[no description]"; + ret->desc = cgit_default_repo_desc; ret->owner = NULL; ret->section = ctx.cfg.section; ret->snapshots = ctx.cfg.snapshots; -- cgit