Thread (55 messages) flat view 55 messages, 3 authors, 2016-06-15

Re: [PATCH 8/9] gitweb: Convert output to using indirect file handle

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:48:06

On Mon, 25 Jan 2010, J.H. wrote:
quoted
So there is a bit of rule of preservation of difficulty at work.  Either
we have large patch adding explicit filehandle to all print statements
'print <sth> -> print $out <sth>' but simple code, or have smaller patch
but complicated *STDOUT manipulation, or have small patch but rely on 
non-core CPAN modules present.
I think depending in non-core CPAN modules is a really bad idea, and
will cause some concern and consternation with mainline distributions,
besides making it more complicated for users to get this up and running
quickly and easily.  
Note: the modules in question are Capture::Tiny or PerlIO::Util.
Capture::Tiny is available as perl-Capture-Tiny RPM module for Fedora Core
up from FC11 and in DAG repository, at least. 


First, installing non-core CPAN modules locally for user is very simple
thanks to local::lib.  After setup it is simply 'cpan -i PerlIO::Util',
and PerlIO::Util gets installed locally, by default inside ~/perl5.

Second, we can go the route that Git.pm did, namely include sources for
extra modules (private-Error.pm in case of Git.pm) and install it if 
needed.  With proper build system (Module::Install, Module::Build) it is
even simpler with inc or inc::latest.  And there is always PAR[1] if you
want to have everything in one file.

[1]: http://par.perl.org
                    While I agree there are other ways of handling this 
I think just adding the filehandle to the print statements provides the
easiest cross section of usability and functionality for everything
involved.
Well, manipulating *STDOUT shouldn't be, I think, much harder, although
I guess it would need more care (so that e.g. "Generating..." page gets
written to real STDOUT).

-- 
Jakub Narebski
Poland
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help