Subject: Re: [RFC/PATCH] gitweb: Use list form of 'open "-|"' pipeline

From: Jakub Narebski <[email-masked]>
Date: Sat, 8 Mar 2008 19:29:45 +0100

On Sat, 8 Mar 2008, Charles Bailey wrote:
> On Sat, Mar 08, 2008 at 05:57:20PM +0100, Jakub Narebski wrote:

>> Add output_pipeline subroutine, which allows to use list form of
>> pipeline; instead of
>>
>>   open my $fh, "-|", "cmd_1 option | cmd_2 argument"
>>
>> we can now write
>>
>>   my $fh = output_pipeline(['cmd_1', 'option'], ['cmd_2', 'argument']);
>>
>> which allows to avoid troubles with shell quoting, and avoid spawning
>> shell.  Code is based on snippet http://www.perlmonks.org/?node_id=246397
>> simplified a bit.
> 
> I'm not a Perl open expert, and I don't know if gitweb has other
> issues on windows anyway, but the list time I experimented with it
> neither the open( FHAND, "-|" ) trick, not the list form of open in
> combination with the "-|" mode worked at all on windows.

First, gitweb is git web interface; I don't know if anybody tried for
example to run gitweb on Windows, be it from Apache or from IIS.

Second, it probably depends on the flavour (distribution) of Perl
used. ActiveState Perl requires some horrible workarounds[*1*], I don't
know what about MSys / MinGW Perl, Cygwin Perl, or Vanilla / Strawberry
Perl.

[*1*] Git.pm, Perl interface to the Git, includes workaround for
ActiveState Perl sheningans; gitweb currently doesn't use Git.pm
(Git.pm would need some extensions), but perhaps it should. On the
other hand it would make installation slightly more complicated.

-- 
Jakub Narebski
Poland