Re: [PATCH 5/6] gitweb: remove PATH_INFO from $my_url and $my_uri
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Sep 29, 2008, 08:33 UTC
- Message-ID
- <200809291033.34588.jnareb@gmail.com>
- In-Reply-To
- <1222030663-22540-6-git-send-email-giuseppe.bilotta@gmail.com>
On Sun, 21 Sep 2008, Giuseppe Bilotta wrote:
> This patch (combined with appropriate server configuration) allows usage > of the gitweb CGI script as DirectoryIndex for the server root even when > the pathinfo feature is enabled. >
This is IMHO a bugfix for a path_info handling bug, for which there was an ugly workaround of specifying base URL ($my_url and $my_uri) explicitly in gitweb configuration (GITWEB_CONFIG).
Therefore I think that this patch should have been sent outside of the rest of "new path_info features" series, as a separate single patch, and now that it is there it really should be applied, perhaps even to the 'maint' branch.
> Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Acked-by: Jakub Narebski <jnareb@gmail.com> (for what is worth)
Show 12 quoted lines
> --- > gitweb/gitweb.perl | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl > index 0dd2526..4a91d07 100755 > --- a/gitweb/gitweb.perl > +++ b/gitweb/gitweb.perl > @@ -26,6 +26,10 @@ our $cgi = new CGI; > our $version = "++GIT_VERSION++"; > our $my_url = $cgi->url(); > our $my_uri = $cgi->url(-absolute => 1);
Perhaps some comment here?
> +if (my $path_info = $ENV{"PATH_INFO"}) {
> + $my_url =~ s,$path_info$,,;
> + $my_uri =~ s,$path_info$,,;+ $my_url =~ s,\Q$path_info\E$,,; + $my_uri =~ s,\Q$path_info\E$,,;
Just in case.
> +} > > # core git executable to use > # this can just be "git" if your webserver has a sensible PATH
I was wondering if $path_info should be global variable, but then I checked that $path_info is local to evaluate_path_info() subroutine. So it is good as it is now, but with quoting regular expression metacharacters.
-- Jakub Narebski Poland