git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Quick merge status updates.

From
Junio C Hamano <junkio@cox.net>
Date
Jul 2, 2006, 22:50 UTC
Message-ID
<7vveqf1v05.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060702214931.GJ29115@pasky.or.cz>
Petr Baudis <pasky@suse.cz> writes:
Show 24 quoted lines
> Dear diary, on Sun, Jul 02, 2006 at 11:33:47PM CEST, I got a letter
> where Junio C Hamano <junkio@cox.net> 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....
Previous: Petr BaudisNext: Junio C Hamano
Message 9 of 21 in “Quick merge status updates.”
  1. Junio C HamanoJun 28, 2006
  2. Pavel RoskinJun 28, 2006
  3. Junio C HamanoJun 28, 2006
  4. Pavel RoskinJun 28, 2006
  5. Junio C HamanoJun 28, 2006
  6. Petr BaudisJul 2, 2006
  7. Junio C HamanoJul 2, 2006
  8. Petr BaudisJul 2, 2006
  9. Junio C HamanoJul 2, 2006
  10. Junio C HamanoJul 2, 2006
  11. Linus TorvaldsJul 3, 2006
  12. Junio C HamanoJul 3, 2006
  13. Pavel RoskinJul 8, 2006
  14. Johannes SchindelinJun 28, 2006
  15. Johannes SchindelinJun 28, 2006
  16. Junio C HamanoJun 28, 2006
  17. Johannes SchindelinJun 28, 2006
  18. Git.pm: Avoid ppport.hPetr Baudis, Jul 1, 2006
  19. Johannes SchindelinJul 2, 2006
  20. Junio C HamanoJul 2, 2006
  21. Git.pm: Don't #define around diePetr Baudis, Jul 2, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.