Subject: Re: [PATCH 8/9] gitweb: True fix: Support for the standard mime.types map in gitweb

From: Jakub Narebski <[email-masked]>
Date: Tue, 15 Aug 2006 18:43:29 +0200

Junio C Hamano wrote:

> Jakub Narebski <[email-masked]> 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