Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: [PATCH 1/4] instaweb: ignore GITWEB_CONFIG_SYSTEM

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:28

Junio C Hamano wrote:
Jonathan Nieder [off-list ref] writes:
quoted
The configuration in /etc/gitweb.conf might specify any old
layout; in particular, it is likely not to be identical to that
which git instaweb sets up.  Noticed by Uwe Kleine-König.
I am not sure if this is a reasonable change by reading the above.  In
some cases, the file may stale, but in other cases, it may specify what
the site administrator wants its users to be using, no?
Yes, I should have mentioned this.

By analogy with .gitconfig, one might want "git instaweb" to check
GITWEB_CONFIG_LOCAL, GITWEB_CONFIG_GLOBAL, and GITWEB_CONFIG_SYSTEM in
that order, taking values from all three.  A GITWEB_CONFIG envvar
could override them all.

But stepping back a moment, what would this accomplish?  The gitweb
configuration specifies

 - what git version to use;
 - site branding;
 - what directory projects are relative to (*);
 - how deep to search for projects;
 - where the list of projects is (*);
 - how to demonstrate project consent to be shown (*);
 - whether to be a stickler about hiding secrets;
 - where gitweb.css, git-logo.png, git-favicon.png, and gitweb.js are (*);
 - base URI for relative paths used above (*);
 - what extra features (e.g. "snapshot") to enable;
 - MIME types, diff options, etc.

The items marked with a (*) are, in the regime used by git 1.7.1,
specific to the "git instaweb" instance, since it is all about showing
the current git repo and provides its own copies of gitweb.cgi instead
of relying on copies in /usr/share/gitweb.

The items not marked with (*) might indeed benefit from some global
site defaults.  But unfortunately, that is already not what
/etc/gitweb.conf is: it is rather used as a unit as a fallback when a
separate gitweb_config.perl is not present.

In git 1.7.2 and later, "git instaweb" provides the gitweb_config.perl
and this discussion becomes academic.
quoted
-s#(my|our) \$git_temp =.*#$1 \$git_temp = "'$fqgitdir/gitweb/tmp'";#;'
+s#(my|our) \$git_temp =.*#$1 \$git_temp = "'$fqgitdir/gitweb/tmp'";#;
+s#(my|our) \$GITWEB_CONFIG_SYSTEM =.*#$1 \$GITWEB_CONFIG_SYSTEM = "";#;'
Perhaps moving the last ' to its own line would help maintaining the
script in the longer term?
Good idea; thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help