git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2] gitweb: Use GITWEB_CONFIG_SYSTEM even if GITWEB_CONFIG does exist

From
Junio C Hamano <gitster@pobox.com>
Date
May 17, 2011, 17:28 UTC
Message-ID
<7v4o4tgrtr.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1305645589.11864.20.camel@drew-northup.unet.maine.edu>
Drew Northup <drew.northup@maine.edu> writes:
Show 16 quoted lines
> On Mon, 2011-05-16 at 22:32 -0700, Junio C Hamano wrote:
>> Jakub Narebski <jnareb@gmail.com> writes:
>> 
>> > This commit changes gitweb behavior so that configuration in
>> > per-instance configuration file can _override_ settings from
>> > system-wide configuration file.
>> >
>> > Note that strictly speaking it is backwards incompatible change.
>> 
>> I am not sure if we gain enough from this change.  As the system-wide one
>> can be arbitrarily overriden by per-instance one, the goal of this change
>> cannot be to make sure that the system administrator can enforce the
>> system wide policy over all the gitweb instances.
>
> Currently if there is a local configuration file
> _there_is_no_system-wide_policy_. That's the problem.

As I said, the patch does not solve "system-wide policy" problem at all, as the per-instance one can override anything. You _could_ sell this as a convenience feature to me, and I already agreed it would be one possible way to make things convienent.

Show 11 quoted lines
>> I think the goal is to let per-instance configuration have an easy way to
>> inherit from a common sane default, but if that is the case, wouldn't it
>> be a lot safer and more backward compatible way to just instruct people to
>> include that common default configuration at the beginning of per-instance
>> configuration file instead?  After all, you would need to give some advice
>> like this ...
>
> If that's currently being done anywhere this change will not cause any
> pain. If the default /etc/gitweb.conf contains a set of commented-out
> sample entries, as it should in the case of something like this, then
> there will be no problems.

I could easily imagine a site whose primary objective of it is to support a specific project. It would be natural for the sysadm group to decide to use /etc/gitweb.conf to customize its primary gitweb instance to suite the the need of serving that project.

The sysadm group may allow its users who have their own side projects run their own instances using per-instance configuration. These users would have been happily using their gitweb instances, with the knowledge that anything specific to the primary project of the site in /etc/gitweb.conf would not affect their instances.

These are broken with this change, no? The users of instaweb is also affected the same way.

Although I am sympathetic to the wish to have a common configuration that is shared by all instances by default (or even make it mandatory), I am just pointing out that there is a downside if you use /etc/gitweb.conf as the common configuration that is read by all instances.

Would it be a workable solution to make any instance read a new file, say, /etc/gitweb-shared.conf, if it exists at the beginning, and to leave /etc/gitweb.conf as the fallback default that is only used when per-instance configuration does not exist?

If somebody can come up with a mechanism to mark configuration variables that are set in the common configuration file as "not overridable", a better name of the common file would be gitweb-policy.conf, as it does more than "shared" whose purpose is to give common sane default.

I can go either way.
Previous: Drew NorthupNext: Drew Northup
Message 7 of 8 in “gitweb: Use GITWEB_CONFIG_SYSTEM even if GITWEB_CONFIG does exist”
  1. gitweb: Use GITWEB_CONFIG_SYSTEM even if GITWEB_CONFIG does existJakub Narebski, May 14, 2011
  2. Jonathan NiederMay 14, 2011
  3. Jakub NarebskiMay 15, 2011
  4. [PATCHv2] gitweb: Use GITWEB_CONFIG_SYSTEM even if GITWEB_CONFIG does existJakub Narebski, May 16, 2011
  5. Junio C HamanoMay 17, 2011
  6. Drew NorthupMay 17, 2011
  7. Junio C HamanoMay 17, 2011
  8. Drew NorthupMay 16, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.