about summary refs log tree commit diff
path: root/shared.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2012-10-09 06:56:14 -0400
committerJason A. Donenfeld <Jason@zx2c4.com>2012-10-17 16:30:09 +0200
commit521e10c884055c800078e6dada97ccf6c5193aad (patch)
treef4a8398b2d64b171de909d57893441830a280712 /shared.c
parentui: Remember to print ampersand as proper html entities. (diff)
downloadcgit-pink-521e10c884055c800078e6dada97ccf6c5193aad.tar.gz
cgit-pink-521e10c884055c800078e6dada97ccf6c5193aad.zip
scan-tree: Unify gitweb.* and cgit.* settings into one config option.
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
Diffstat (limited to 'shared.c')
-rw-r--r--shared.c3
1 files changed, 2 insertions, 1 deletions
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;