From 521e10c884055c800078e6dada97ccf6c5193aad Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
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 1.4.1-3-g733a5