summaryrefslogtreecommitdiff
path: root/userdiff.c
diff options
context:
space:
mode:
authorLibravatar Jakub Narebski <jnareb@gmail.com>2010-11-25 19:43:59 +0100
committerLibravatar Junio C Hamano <gitster@pobox.com>2010-11-29 17:13:35 -0800
commitda4b2432cc6fe514dd72431de7be3ff2b4c86d7e (patch)
treecde2d71c98dc19563a9a1dd38b7ae3275defe24b /userdiff.c
parentMerge branch 'cb/maint-orphan-merge-noclobber' (diff)
downloadtgif-da4b2432cc6fe514dd72431de7be3ff2b4c86d7e.tar.xz
gitweb: selectable configurations that change with each request
Allow selecting whether configuration file should be (re)parsed on each request (the default, for backward compatibility with configurations that change per session, see commit 7f425db (gitweb: allow configurations that change with each request, 2010-07-30)), or whether should it be parsed only once (for performance speedup for persistent environments, though currently only FastCGI is able to make use of it, when flexibility is not important). You can also have configuration file parsed only once, but have parts of configuration (re)evaluated once per each request. This is done by introducing $per_request_config variable: if set to code reference, this code would be run once per request, while config file would be parsed only once. For example gitolite's contrib/gitweb/gitweb.conf fragment mentioned in 7f425db could be rewritten as our $per_request_config = sub { $ENV{GL_USER} = ($cgi && $cgi->remote_user) || "gitweb"; }; to make use of this feature. If $per_request_config is not a code reference, it is taken to be boolean variable, to choose between running config file for each request (flexibility), and running config file only once (performance in persistent environments). The default value for $per_request_config is 1 (true), which means that old configuration that require to change per session (like gitolite's) will keep working. While at it, make it so evaluate_git_version() is run only once. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'userdiff.c')
0 files changed, 0 insertions, 0 deletions