Subject: Re: gitweb on OpenBSD (-T not supported on filesystems...)

From: Jakub Narebski <[email-masked]>
Date: Sun, 17 Sep 2006 11:12:12 +0200

Andrew Pamment wrote:

> I'm not sure if this is useful but I thought I would post it anyway,
> 
> in gitweb.cgi on line 1560 where you have -T testing a file descripter, it  
> doesn't work on OpenBSD 3.9, which makes viewing blobs not work.
> 
> I solved this (or I think I have) by replacing $fd with $filename.

This doesn't work. $filename is file name relative to the git repository,
i.e. full path would be $projectroot/$project/../$file_name _if_ the
repository is full repository and not bare repository, and when projects
are symlinked .. goes up linked directory.

We need '-T $fd', where $fd is open pipe from git-cat-file, to avoid
creating temporary files (we just removed need for $tmp_dir and temporary
files for creating diffs).

What Perl version do you use? Does 'perldoc -f -X' has the following lines?

        -X FILEHANDLE

        (...) If "-T" or "-B" is used on a filehandle, the current IO buffer
        is examined rather than the first block. (...)

The solution for you would be to skip -T test.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git