зеркало из https://github.com/microsoft/git.git
gitweb: Move evaluate_gitweb_config out of run_request
Move evaluate_gitweb_config() and evaluate_git_version() out of run_request() to run(), making them not run one for each request. This changes how git behaves in FastCGI case. This change makes it impossible to have config which changes with request, but I don't think anyone relied on such (hidden action) behavior. While at it, reset timer and number of git commands at beginning of run_request() in new reset_timer() subroutine. This fixes case when gitweb was run using FastCGI interface: time is reported for request, and not for single run of gitweb script. This changes slightly behavior in non-FastCGI case: the number of git commands reported is 1 less (running `git --version` one per gitweb is not counted now). Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
9ba0f0334d
Коммит
869d58813b
|
@ -1027,18 +1027,18 @@ sub dispatch {
|
|||
$actions{$action}->();
|
||||
}
|
||||
|
||||
sub run_request {
|
||||
sub reset_timer {
|
||||
our $t0 = [Time::HiRes::gettimeofday()]
|
||||
if defined $t0;
|
||||
our $number_of_git_cmds = 0;
|
||||
}
|
||||
|
||||
sub run_request {
|
||||
reset_timer();
|
||||
|
||||
evaluate_uri();
|
||||
evaluate_gitweb_config();
|
||||
evaluate_git_version();
|
||||
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();
|
||||
|
@ -1086,6 +1086,11 @@ 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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче