]> Lady’s Gitweb - Gitweb/commitdiff
gitweb: allow configurations that change with each request
authorJonathan Nieder <redacted>
Sat, 31 Jul 2010 03:01:59 +0000 (22:01 -0500)
committerLady <redacted>
Mon, 6 Apr 2026 04:51:30 +0000 (00:51 -0400)
gitolite's contrib/gitweb/gitweb.conf includes:

$ENV{GL_USER} = $cgi->remote_user || "gitweb";

which is useful for setups where a user has to be authenticated
to access certain repos.  Perhaps other typical configurations
change per session in other ways, too.

v1.7.2-rc2~6 (gitweb: Move evaluate_gitweb_config out of run_request,
2010-07-05) broke such configurations for a speedup, by loading
the configuration once per FastCGI process.

Probably in the end there should be a way to specify in the
configuration whether a particular installation wants the speedup or
the flexibility.  But for now it is easier to just undo the relevant
change.

This partially reverts commit 869d58813b24c74e84c9388041eafcef40cb51e4.

Reported-by: Julio Lajara <redacted>
Analysis-by: Jakub Narebski <redacted>
Signed-off-by: Jonathan Nieder <redacted>
Signed-off-by: Junio C Hamano <redacted>
gitweb.perl

index 8aef3fdf048f510095c4c20c6404e3611a0751d807c1421cd1d2cc3b92242513..8936b0ef21da989a5f02e4b78cb40665d4a2248aeed600d00079b90d22ce017a 100755 (executable)
@@ -1061,8 +1061,12 @@ sub run_request {
        reset_timer();
 
        evaluate_uri();
+       evaluate_gitweb_config();
        check_loadavg();
 
+       # $projectroot and $projects_list might be set in gitweb config file
+       $projects_list ||= $projectroot;
+
        evaluate_query_params();
        evaluate_path_info();
        evaluate_and_validate_params();
@@ -1110,12 +1114,8 @@ sub evaluate_argv {
 
 sub run {
        evaluate_argv();
-       evaluate_gitweb_config();
        evaluate_git_version();
 
-       # $projectroot and $projects_list might be set in gitweb config file
-       $projects_list ||= $projectroot;
-
        $pre_listen_hook->()
                if $pre_listen_hook;
 
This page took 0.028937 seconds and 4 git commands to generate.