Re: [PATCH 8/9] gitweb: True fix: Support for the standard mime.types map in gitweb
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Aug 15, 2006, 16:43 UTC
- Message-ID
- <ebsthv$3gt$2@sea.gmane.org>
- In-Reply-To
- <7vlkpqbzxx.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 22 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes:
>
>> True fix for error in mimetype_guess, error introduced in original commit
>> 2d00737489b8c61ed616b261c7c9bd314e2b0b41 and later fixed temporarily
>> by commenting out the line that caused error in commit
>> 57bd4d3523efecf60197040cad34154aff4ddf80.
>>
>> Gitweb now supports mime.types map $mimetypes_file relative to project.
>
> Care to explain what that commenting out was about?
>
>> if ($mimetypes_file) {
>> my $file = $mimetypes_file;
>> - #$file =~ m#^/# or $file = "$projectroot/$path/$file";
>> + if ($file !~ m!^/!) { # if it is relative path
>> + # it is relative to project
>> + $file = "$projectroot/$project/$file";
>> + }
>> $mime = mimetype_guess_file($filename, $file);
>
> Are $project and $file always defined when we take this new
> codepath?$project is defined always in the "input validation and dispatch" part.
"my $file = $mimetypes_file;", and only if $mimetypes_file is true (so it must be defined). $mimetypes_file is undef by default, and it is one of the configuration variables which are not set from Makefile in "make gitweb/gitweb.cgi".
$path was never defined; I guess that was copy'n'paste error, copying from other subroutine that used $path as one of arguments.
I don't know why I didn't fix this error correctly, only patched it up the first time...
-- Jakub Narebski Warsaw, Poland ShadeHawk on #git