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, 21:33 UTC
Message-ID
<7v64if3d50.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20060702204906.GG29115@pasky.or.cz>
Petr Baudis <pasky@suse.cz> writes:
Show 6 quoted lines
> So the purpose of the original patch was to make it play nicely with
> $PERLLIB, but unshifting helps nothing, since:
>
> 	There's default @INC
> 	Perl spots PERLLIB and unshifts @INC
> 	We then unshift @INC too, taking precedence
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.

If you make the freshly built script to say "use lib" to use Git.pm and its friends from the installed location, it defeats the attempt by test-lib.sh to override it to test what we freshly built -- the use of "unshift @INC" is to work that around and is parallel to the way Python stuff works around the same problem.

[Footnotes] *1* "use lib" patch.

diff --git a/git-fmt-merge-msg.perl b/git-fmt-merge-msg.perl
index 1b23fa1..3a42950 100755
--- a/git-fmt-merge-msg.perl
+++ b/git-fmt-merge-msg.perl
@@ -5,7 +5,7 @@ #
 # Read .git/FETCH_HEAD and make a human readable merge message
 # 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);

*2* "break Git.pm" patch.

diff --git a/perl/Git.pm b/perl/Git.pm
index b4ee88b..34b4f12 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -6,6 +6,7 @@ Git - Perl interface to the Git version 
 
 
 package Git;
+syntax error -- kill me
 
 use strict;
 
Previous: Petr BaudisNext: Petr Baudis
Message 7 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.