From: Petr Baudis Date: Mon, 3 Jul 2006 21:16:32 +0000 (+0200) Subject: Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging X-Git-Tag: v1.4.3-rc1~2^2~17 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=6fcca938b0;p=git.git Use $GITPERLLIB instead of $RUNNING_GIT_TESTS and centralize @INC munging This makes the Git perl scripts check $GITPERLLIB instead of $RUNNING_GIT_TESTS, which makes more sense if you are setting up your shell environment to use a non-installed Git instance. It also weeds out the @INC munging from the individual scripts and makes Makefile add it during the .perl files processing, so that we can change just a single place when we modify this shared logic. It looks ugly in the scripts, too. ;-) And instead of doing arcane things with the @INC array, we just do 'use lib' instead, which is essentialy the same thing anyway. I first want to do three separate patches but it turned out that it's quite a lot neater when bundled together, so I hope it's ok. Signed-off-by: Petr Baudis Signed-off-by: Junio C Hamano --- diff --git a/INSTALL b/INSTALL index ed502de3d..4e8f88338 100644 --- a/INSTALL +++ b/INSTALL @@ -39,8 +39,8 @@ Issues of note: GIT_EXEC_PATH=`pwd` PATH=`pwd`:$PATH - PERL5LIB=`pwd`/perl/blib/lib:`pwd`/perl/blib/arch/auto/Git - export GIT_EXEC_PATH PATH PERL5LIB + GITPERLLIB=`pwd`/perl/blib/lib:`pwd`/perl/blib/arch/auto/Git + export GIT_EXEC_PATH PATH GITPERLLIB - Git is reasonably self-sufficient, but does depend on a few external programs and libraries: diff --git a/Makefile b/Makefile index 703016725..71657ec90 100644 --- a/Makefile +++ b/Makefile @@ -550,7 +550,9 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/Makefile $(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl rm -f $@ $@+ INSTLIBDIR=`$(MAKE) -C perl -s --no-print-directory instlibdir` && \ - sed -e '1s|#!.*perl\(.*\)|#!$(PERL_PATH_SQ)\1|' \ + sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|1' \ + -e '2i\ + use lib (split(/:/, $$ENV{GITPERLLIB} || '\'"$$INSTLIBDIR"\''));' \ -e 's|@@INSTLIBDIR@@|'"$$INSTLIBDIR"'|g' \ -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \ $@.perl >$@+ diff --git a/git-fmt-merge-msg.perl b/git-fmt-merge-msg.perl index a9805dd51..f86231e14 100755 --- a/git-fmt-merge-msg.perl +++ b/git-fmt-merge-msg.perl @@ -5,11 +5,6 @@ # Read .git/FETCH_HEAD and make a human readable merge message # by grouping branches and tags together to form a single line. -BEGIN { - unless (exists $ENV{'RUNNING_GIT_TESTS'}) { - unshift @INC, '@@INSTLIBDIR@@'; - } -} use strict; use Git; use Error qw(:try); diff --git a/git-mv.perl b/git-mv.perl index 5134b805a..322b9fdcb 100755 --- a/git-mv.perl +++ b/git-mv.perl @@ -6,11 +6,6 @@ # This file is licensed under the GPL v2, or a later version # at the discretion of Linus Torvalds. -BEGIN { - unless (exists $ENV{'RUNNING_GIT_TESTS'}) { - unshift @INC, '@@INSTLIBDIR@@'; - } -} use warnings; use strict; use Getopt::Std; diff --git a/t/test-lib.sh b/t/test-lib.sh index 298c6caa7..ad9796ee9 100755 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -206,9 +206,8 @@ PYTHON=`sed -e '1{ PYTHONPATH=$(pwd)/../compat export PYTHONPATH } -RUNNING_GIT_TESTS=YesWeAre -PERL5LIB=$(pwd)/../perl/blib/lib:$(pwd)/../perl/blib/arch/auto/Git -export PERL5LIB RUNNING_GIT_TESTS +GITPERLLIB=$(pwd)/../perl/blib/lib:$(pwd)/../perl/blib/arch/auto/Git +export GITPERLLIB test -d ../templates/blt || { error "You haven't built things yet, have you?" }