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

Re: [PATCH] gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM

From
DNDrew Northup <n1xim.email@gmail.com>
Date
Apr 16, 2013, 03:10 UTC
Message-ID
<CAM9Z-nmOzpJdT3ni0rYRkg7Z26N5XSRyqp0TkTY79AAZ85pw2A@mail.gmail.com>
In-Reply-To
<516888C0.90501@gmail.com>
On Fri, Apr 12, 2013 at 6:20 PM, Jakub Narębski <jnareb@gmail.com> wrote:
Show 44 quoted lines
> -- >8 --
> Subject: [PATCH] gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM
>
> The flow of the text describing GITWEB_CONFIG_SYSTEM and
> GITWEB_CONFIG_COMMON in gitweb/INSTALL is awkward.  "This is
> bad. Oh the other hand, better is broken. Therefore ..." forces
> readers to make multiple guesses while reading: "ok, bad, so you plan
> to change it and warn us about upcoming change?  oh, not that,
> changing it is bad, so we have to live with it?  oh, not that, there
> is another one that is common and that is what we can use".
>
> Better rewrite said paragraph to avoid such a mental roller-coaster in
> the first place.
>
> Signed-off-by: Junio Hamano <gitster@pobox.com>
> Signed-off-by: Jakub Narebski <jnareb@gmail.com>
> ---
>  gitweb/INSTALL |   14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/gitweb/INSTALL b/gitweb/INSTALL
> index 6d45406..7ad1050 100644
> --- a/gitweb/INSTALL
> +++ b/gitweb/INSTALL
> @@ -243,14 +243,12 @@ for gitweb (in gitweb/README), and gitweb.conf(5) manpage.
>    GITWEB_CONFIG_SYSTEM build configuration variable, and override it
>    through the GITWEB_CONFIG_SYSTEM environment variable.
>
> -  Note that if per-instance configuration file exists, then system-wide
> -  configuration is _not used at all_.  This is quite untypical and suprising
> -  behavior.  On the other hand changing current behavior would break backwards
> -  compatibility and can lead to unexpected changes in gitweb behavior.
> -  Therefore gitweb also looks for common system-wide configuration file,
> -  normally /etc/gitweb-common.conf (set during build time using build time
> -  configuration variable GITWEB_CONFIG_COMMON, set it at runtime using
> -  environment variable with the same name).  Settings from per-instance or
> +
> +  Note that the GITWEB_CONFIG_SYSTEM system-wide configuration file is
> +  only used for instances that lack per-instance configuration file.
> +  You can use GITWEB_CONFIG_COMMON common system-wide configuration
> +  file (normally /etc/gitweb-common.conf) to keep common default
> +  settings that apply to all instances.  Settings from per-instance or
>    system-wide configuration file override those from common system-wide
>    configuration file.

The point of wording it such that it was explicitly noted that the supposed "system-wide" settings were really just "system-wide defaults" (which would be ignored wholesale if any one setting was overridden locally) was due to the fact that most of the time server administrators don't deal with software that idiosyncratic. Prior to the addition of GITWEB_CONFIG_COMMON there was no method for setting up a sane default template that wouldn't be discarded wholesale upon any one configuration parameter being overridden.

That's the point of explaining SPECIFICALLY why the then current behavior wasn't being replaced, and this other mechanism (which would otherwise have no obvious reason for existing) was being introduced. So, unfortunately, if we remove the "mental roller coaster" part of the explanation entirely we can expect to end up in exactly the situation that I complained about to begin with. (Or we could just do this the way everybody else does, with partial overrides being the common case, starting at 2.x and no longer have the mental roller coaster problem at all.)

As I'm the one that complained loudly enough to get this change to be made in the first place I'd appreciate being kept in the loop in this series.

-- -Drew Northup -------------------------------------------------------------- "As opposed to vegetable or mineral error?" -John Pescatore, SANS NewsBites Vol. 12 Num. 59

Previous: Jakub NarębskiNext: Junio C Hamano
Message 9 of 34 in “Various typofixes”
  1. Various typofixesStefano Lattarini, Apr 11, 2013
  2. Eric SunshineApr 11, 2013
  3. Fix various typos and grammarosStefano Lattarini, Apr 11, 2013
  4. Junio C HamanoApr 12, 2013
  5. 0/10 Re: [PATCH v2] Fix various typos and grammarosJonathan Nieder, Apr 12, 2013
  6. 01/10 doc: various spelling fixesJonathan Nieder, Apr 12, 2013
  7. Junio C HamanoApr 12, 2013
  8. gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEMJakub Narębski, Apr 12, 2013
  9. Drew NorthupApr 16, 2013
  10. Junio C HamanoApr 16, 2013
  11. Jakub NarębskiApr 16, 2013
  12. Drew NorthupApr 16, 2013
  13. Drew NorthupApr 16, 2013
  14. gitweb/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibilityJakub Narębski, Apr 16, 2013
  15. Drew NorthupApr 16, 2013
  16. Drew NorthupApr 16, 2013
  17. Jonathan NiederApr 16, 2013
  18. Drew NorthupApr 18, 2013
  19. Junio C HamanoApr 18, 2013
  20. 02/10 git-remote-mediawiki: spelling fixesJonathan Nieder, Apr 12, 2013
  21. Matthieu MoyApr 12, 2013
  22. 03/10 contrib/subtree: fix spelling of accidentallyJonathan Nieder, Apr 12, 2013
  23. 04/10 obstack: fix spelling of similarJonathan Nieder, Apr 12, 2013
  24. 05/10 compat/regex: fix spelling and grammar in commentsJonathan Nieder, Apr 12, 2013
  25. 06/10 compat/nedmalloc: fix spelling in commentsJonathan Nieder, Apr 12, 2013
  26. Sebastian SchuberthApr 12, 2013
  27. 07/10 precompose-utf8: fix spelling of "want" in error messageJonathan Nieder, Apr 12, 2013
  28. 08/10 kwset: fix spelling in commentsJonathan Nieder, Apr 12, 2013
  29. 09/10 git-gui: fix spelling in commentsJonathan Nieder, Apr 12, 2013
  30. 10/10 Correct common spelling mistakes in comments and testsJonathan Nieder, Apr 12, 2013
  31. Junio C HamanoApr 12, 2013
  32. Junio C HamanoApr 12, 2013
  33. Stefano LattariniApr 12, 2013
  34. Junio C HamanoApr 12, 2013

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.