Petr Baudis <pasky@xxxxxxx> writes: > Dear diary, on Sun, Jul 02, 2006 at 11:33:47PM CEST, I got a letter > where Junio C Hamano <junkio@xxxxxxx> said that... >> I tried this: >> >> 0. check out the branch that has the Perly git ("pu"). build >> and install normally to have a perfectly working version >> accessible on your usual $PATH. >> >> 1. apply the patch [1] below to make it use "use lib" instead of >> "unshift". >> >> 2. break perl/Git.pm being built to pretend we introduced a bug >> in the work in progress by applying the patch [2] below. >> >> 3. without installing the broken Git.pm, run "make test", and >> see a test that uses "git pull" and needs to create a true >> merge succeed. It tells me that everything including >> perl/Git.pm is GOOD, and I'd find the breakage only after >> installing and running the test again. > > So, just to clarify and make sure we understand each other perfectly, > you claim that when skipping (1), (3) _does_ FAIL for you? Because it > really doesn't for me and I can't see how could it ever fail without > installing the broken version first. Gaah. You are right. PERL5LIB does not seem to just do a push (and that was I thought why unshift was a way to defeat it) but do something more evil. With this: diff --git a/git-fmt-merge-msg.perl b/git-fmt-merge-msg.perl index 1b23fa1..5d1ae44 100755 --- a/git-fmt-merge-msg.perl +++ b/git-fmt-merge-msg.perl @@ -6,9 +6,11 @@ # Read .git/FETCH_HEAD and make a human # by grouping branches and tags together to form a single line. BEGIN { unshift @INC, '@@INSTLIBDIR@@'; } +use lib '@@INSTLIBDIR@@'; use strict; use Git; use Error qw(:try); +print STDERR "\@INC is @INC\n"; my $repo = Git->repository(); It spits this out: @INC is /home/junio/git-pu/lib/perl/5.8.8 /opt/git/git.git/t/../perl/blib/lib /opt/git/git.git/t/../perl/blib/arch/auto/Git /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . So "BEGIN { unshift }" is JUST AS WRONG as "use lib". I thought we killed this showstopper and was hoping now the series is mergeable to "next" but apparently not yet X-<. Sigh.... - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html