[PATCH 2/2] Add feature: obtain repo section from git config

Jamie Couture jamie.couture at gmail.com
Mon Jun 6 20:31:02 CEST 2011

On 11-06-06 01:38 PM, Ferry Huberts wrote:
> On 06/06/2011 07:13 PM, larsh at hjemli.net wrote:
>> On Fri, Jun 03, 2011 at 07:21:02PM -0400, Jamie Couture wrote:
>>> +section-from-repo-config::
>>> +	If set to "1" obtain the section name from git config. The expected config
>>> +	section.key that is used is "cgit.section".
>>> +	Ex: $ git config cgit.section mysection
>>> +	An alternative to section-from-path, and will not check git config if
>>> +	section-from-path is set. See also: scan-path.  This must be defined prior
>>> +	to scan-path.
>>> +
>> * What value is added by $GITDIR/config compared to $GITDIR/cgitrc?
>> * If we want to support reading repo-config from $GITDIR/config, why not
>>    implement all the options supported by a $GITDIR/cgitrc?
> I thought about this too.
> It seems attractive but to me is mixing concerns: git and cgit are two
> different tools (although closely tied). Having cgit store (part of) its
> configuration in git configuration files is not good architecture,
> unwise and fragile since it make the cgit configuration directly
> dependent on git configuration. cgit can't change it's configuration
> format since it has to follow git's and once git changes its format cgit
> immediately breaks.
The motivation was more about being lazy for those who use scan-path to 
pick up repositories, and only serves to help the presentation / 
separation of sections in the front-end, but is by no means easier to 
maintain.  I agree that mixing configuration is clumsy.

In my case, I was using gitoilte + cgit.  Perhaps I overlooked a feature 
of gitolite to create repositories based on some path, say:
parent/{section1, ..., sectionN}/actual_project.git (the 
section-from-path feature should have been used in this case). Instead 
everything is living as children from a common parent, which is how I 
currently have it setup.

> I'd prefer not doing this (everything in $GITDIR/config). I think it's
> better to have $GITDIR/cgitrc files that hold the repo settings.
> There is this setting called repo.path though that then is kind of an
> annoyance to set and update. If we always use $GITDIR/cgitrc files then
> the repo.path setting could be automatically deduced by cgit.
I was trying to do as little touching of cgitrc as possible, with 
respect to updating / maintaining repository information.

Thanks for the consideration; I appreciate the feedback.

Jamie Couture

More information about the CGit mailing list