gitweb: Fix mod_perl support.
authorAlexander Gavrilov <angavrilov@gmail.com>
Wed, 5 Nov 2008 22:10:07 +0000 (01:10 +0300)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Nov 2008 00:39:13 +0000 (16:39 -0800)
commitdde80d9c23e10592817f0c81e32a99a889a9bb8e
tree26dd30445eeb6b633e99b767e497d5225258b193
parentdd7f5f105a1d4d094a96c5e3f251854f81106be0
gitweb: Fix mod_perl support.

ModPerl::Registry precompiles scripts by wrapping them
in a subroutine. This causes ordinary subroutines of the
script to become nested, and warnings appear:

gitweb.cgi: Variable "$path_info" will not stay shared

This warning means that $path_info was declared as 'my',
and thus according to the perl evaluation rules all nested
subroutines will retain a reference to the instance of the
variable used in the first invocation of the master script.

When the script (i.e. the master meta-subroutine) is executed
the second time, it will use a new instance, so the logic
breaks. To avoid this it is necessary to declare all global
variables as 'our', which places them at the package level.

Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
gitweb/gitweb.perl