From: Jakub Narebski <jnareb@gmail.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org,
Pavan Kumar Sunkara <pavan.sss1991@gmail.com>,
Petr Baudis <pasky@ucw.cz>,
Christian Couder <chriscool@tuxfamily.org>
Subject: Re: [PATCHv2/RFC] gitweb: Prepare for splitting gitweb
Date: Wed, 7 Jul 2010 22:05:12 +0200 [thread overview]
Message-ID: <201007072205.14345.jnareb@gmail.com> (raw)
In-Reply-To: <AANLkTinxDSS2G60_nQ12UqZpSJCvg_kfWYKzmTqJU7Ox@mail.gmail.com>
On Wed, 7 Jul 2010, Ævar Arnfjörð Bjarmason napisał:
> On Wed, Jul 7, 2010 at 09:57, Jakub Narebski <jnareb@gmail.com> wrote:
> > [...]
> > use strict;
> > use warnings;
> > +
> > +use File::Spec;
> > +# __DIR__ is taken from Dir::Self __DIR__ fragment
> > +sub __DIR__ () {
> > + File::Spec->rel2abs(join '', (File::Spec->splitpath(__FILE__))[0, 1]);
> > +}
> > +use lib __DIR__ . '/lib';
> > +
>
> What was the result of the discussion about using __DIR__ again? You
> only need to use that method when you call a perl program whith *then*
> includes a module. If you just need to add the lib/ directory relative
> to the script you're invoking you can use FindBin:
>
> use FindBin qw($Bin);
> use lib "$Bin/lib";
It's
use lib "$Bin/../lib";
(I don't like this ../lib here, but that's my personal preference).
But you might be right that I am overly cautious in avoiding FindBin.
It is nowadays not recommended solution (on #perl, for example), but
it is perhaps true that the conditions where it fails are not fulfilled
for the case of gitweb.
Or perhaps not:
KNOWN ISSUES
If there are two modules using FindBin from different directories
under the same interpreter, this won't work. Since FindBin uses a
BEGIN block, it'll be executed only once, and only the first caller
will get it right. This is a problem under **mod_perl** and other
persistent Perl environments, where you shouldn't use this module.
Gitweb can be used under mod_perl (to be more exact ModPerl::Registry).
> > use CGI qw(:standard :escapeHTML -nosticky);
> > use CGI::Util qw(unescape);
> > use CGI::Carp qw(fatalsToBrowser set_message);
> > @@ -16,6 +24,7 @@ use Encode;
> > use Fcntl ':mode';
> > use File::Find qw();
> > use File::Basename qw(basename);
> > +
> > binmode STDOUT, ':utf8';
>
> The whitespace change distracts from the real patch a bit.
Ooops, I'm sorry.
I'll fix it in resend, if required.
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2010-07-07 20:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-07 9:57 [PATCHv2/RFC] gitweb: Prepare for splitting gitweb Jakub Narebski
2010-07-07 10:30 ` Ævar Arnfjörð Bjarmason
2010-07-07 20:05 ` Jakub Narebski [this message]
2010-07-08 7:01 ` Jakub Narebski
2010-07-13 22:24 ` Jakub Narebski
2010-07-13 22:30 ` Ævar Arnfjörð Bjarmason
2010-07-14 9:24 ` Jakub Narebski
2010-07-14 10:05 ` Ævar Arnfjörð Bjarmason
2010-07-14 21:21 ` Jakub Narebski
2010-07-07 16:25 ` Junio C Hamano
2010-07-07 20:20 ` Jakub Narebski
2010-07-08 0:30 ` Junio C Hamano
2010-07-08 6:59 ` Jakub Narebski
2010-07-08 7:20 ` [PATCHv3/RFC] " Jakub Narebski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201007072205.14345.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=avarab@gmail.com \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=pasky@ucw.cz \
--cc=pavan.sss1991@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.