<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/perl, branch v2.23.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.23.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.23.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-04-01T02:57:39Z</updated>
<entry>
<title>Git.pm: make hash size independent</title>
<updated>2019-04-01T02:57:39Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2019-02-19T00:05:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bcbb44ba053988fcc0d3ddb876c007898f345992'/>
<id>urn:sha1:bcbb44ba053988fcc0d3ddb876c007898f345992</id>
<content type='text'>
The cat_blob function was matching on exactly 40 hex characters.  This
won't work with SHA-256, which uses 64-character hex object IDs.  While
it should be fine to simply match any number of hex characters since the
output is space delimited, be extra safe by matching either exactly 40
or exactly 64 hex characters.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ab/git-svn-get-record-typofix'</title>
<updated>2018-05-08T06:59:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-08T06:59:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a500a9c4157495593504f5e59138be5a5d0a5590'/>
<id>urn:sha1:a500a9c4157495593504f5e59138be5a5d0a5590</id>
<content type='text'>
"git svn" had a minor thinko/typo which has been fixed.

* ab/git-svn-get-record-typofix:
  git-svn: avoid warning on undef readline()
</content>
</entry>
<entry>
<title>Merge branch 'dj/runtime-prefix'</title>
<updated>2018-05-08T06:59:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-05-08T06:59:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=92034a9cd5e71cf686ef66029433bdaba75027b0'/>
<id>urn:sha1:92034a9cd5e71cf686ef66029433bdaba75027b0</id>
<content type='text'>
A build-time option has been added to allow Git to be told to refer
to its associated files relative to the main binary, in the same
way that has been possible on Windows for quite some time, for
Linux, BSDs and Darwin.

* dj/runtime-prefix:
  Makefile: quote $INSTLIBDIR when passing it to sed
  Makefile: remove unused @@PERLLIBDIR@@ substitution variable
  mingw/msvc: use the new-style RUNTIME_PREFIX helper
  exec_cmd: provide a new-style RUNTIME_PREFIX helper for Windows
  exec_cmd: RUNTIME_PREFIX on some POSIX systems
  Makefile: add Perl runtime prefix support
  Makefile: generate Perl header from template file
</content>
</entry>
<entry>
<title>Makefile: add Perl runtime prefix support</title>
<updated>2018-04-11T09:09:56Z</updated>
<author>
<name>Dan Jacques</name>
<email>dnj@google.com</email>
</author>
<published>2018-04-10T15:05:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=07d90eadb50ee687a7313186b654975b0944a74e'/>
<id>urn:sha1:07d90eadb50ee687a7313186b654975b0944a74e</id>
<content type='text'>
Broaden the RUNTIME_PREFIX flag to configure Git's Perl scripts to
locate the Git installation's Perl support libraries by resolving
against the script's path, rather than hard-coding that path at
build-time. Hard-coding at build time worked on previous
RUNTIME_PREFIX configurations (i.e., Windows) because the Perl
scripts were run within a virtual filesystem whose paths were
consistent regardless of the location of the actual installation.
This will no longer be the case for non-Windows RUNTIME_PREFIX users.

When enabled, RUNTIME_PREFIX now requires Perl's system paths to be
expressed relative to a common installation directory in the Makefile,
and uses that relationship to locate support files based on the known
starting point of the script being executed, much like RUNTIME_PREFIX
does for the Git binary.

This change enables Git's Perl scripts to work when their Git installation
is relocated or moved to another system, even when they are not in a
virtual filesystem environment.

Signed-off-by: Dan Jacques &lt;dnj@google.com&gt;
Thanks-to: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Thanks-to: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Makefile: generate Perl header from template file</title>
<updated>2018-04-11T09:09:56Z</updated>
<author>
<name>Dan Jacques</name>
<email>dnj@google.com</email>
</author>
<published>2018-04-10T15:05:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f6a0ad4be71a337e2e8787788a4b467204a4c4bb'/>
<id>urn:sha1:f6a0ad4be71a337e2e8787788a4b467204a4c4bb</id>
<content type='text'>
Currently, the generated Perl script headers are emitted by commands in
the Makefile. This mechanism restricts options to introduce alternative
header content, needed by Perl runtime prefix support, and obscures the
origin of the Perl script header.

Change the Makefile to generate a header by processing a template file and
move the header content into the "perl/" subdirectory. The generated
header content will now be stored in the "GIT-PERL-HEADER" file. This
allows the content of the Perl header to be controlled by changing the path
of the template in the Makefile.

Signed-off-by: Dan Jacques &lt;dnj@google.com&gt;
Thanks-to: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Thanks-to: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-svn: avoid warning on undef readline()</title>
<updated>2018-04-09T02:11:13Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2018-04-06T13:15:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=51db2715876580acdb28b17079c9f6cb784da849'/>
<id>urn:sha1:51db2715876580acdb28b17079c9f6cb784da849</id>
<content type='text'>
Change code in Git.pm that sometimes calls chomp() on undef to only do
so the value is defined.

This code has been chomping undef values ever since it was added in
b26098fc2f ("git-svn: reduce scope of input record separator change",
2016-10-14), but started warning due to the introduction of "use
warnings" to Git.pm in my f0e19cb7ce ("Git.pm: add the "use warnings"
pragma", 2018-02-25) released with 2.17.0.

Since this function will return undef in those cases it's still
possible that the code using it will warn if it does a chomp of its
own, as the code added in b26098fc2f ("git-svn: reduce scope of input
record separator change", 2016-10-14) might do, but since git-svn has
"use warnings" already that's clearly not a codepath that's going to
warn.

See https://public-inbox.org/git/86h8oobl36.fsf@phe.ftfl.ca/ for the
original report.

Reported-by: Joseph Mingrone &lt;jrm@ftfl.ca&gt;
Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Improved-by: Eric Wong &lt;e@80x24.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-svn: allow empty email-address using authors-prog and authors-file</title>
<updated>2018-04-05T19:22:06Z</updated>
<author>
<name>Andreas Heiduk</name>
<email>asheiduk@gmail.com</email>
</author>
<published>2018-03-24T10:20:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cb427e9eb0243fe7a1a22ea3bd0a46b7410c0bf3'/>
<id>urn:sha1:cb427e9eb0243fe7a1a22ea3bd0a46b7410c0bf3</id>
<content type='text'>
The email address in --authors-file and --authors-prog can be empty but
git-svn translated it into a fictional email address in the form

	jondoe &lt;jondoe@6aafaa21e0fb4338a68ab372a049893d&gt;

containing the SVN repository UUID. Now git-svn behaves like git-commit:
If the email is *explicitly* set to the empty string using '&lt;&gt;', the
commit does not contain an email address, only the name:

	jondoe &lt;&gt;

Allowing to remove the email address *intentionally* prevents automatic
systems from sending emails to those fictional addresses and avoids
cluttering the log output with unnecessary stuff.

Signed-off-by: Andreas Heiduk &lt;asheiduk@gmail.com&gt;
Signed-off-by: Eric Wong &lt;e@80x24.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ab/perl-fixes'</title>
<updated>2018-03-15T22:00:46Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-03-15T22:00:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ae1644b08e85fb64367b273337d8ebcbdabe0685'/>
<id>urn:sha1:ae1644b08e85fb64367b273337d8ebcbdabe0685</id>
<content type='text'>
Clean-up to various pieces of Perl code we have.

* ab/perl-fixes:
  perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS
  Makefile: add NO_PERL_CPAN_FALLBACKS knob
  perl: move the perl/Git/FromCPAN tree to perl/FromCPAN
  perl: generalize the Git::LoadCPAN facility
  perl: move CPAN loader wrappers to another namespace
  perl: update our copy of Mail::Address
  perl: update our ancient copy of Error.pm
  git-send-email: unconditionally use Net::{SMTP,Domain}
  Git.pm: hard-depend on the File::{Temp,Spec} modules
  gitweb: hard-depend on the Digest::MD5 5.8 module
  Git.pm: add the "use warnings" pragma
  Git.pm: remove redundant "use strict" from sub-package
  perl: *.pm files should not have the executable bit
</content>
</entry>
<entry>
<title>Merge branch 'bw/perl-timegm-timelocal-fix'</title>
<updated>2018-03-06T22:54:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2018-03-06T22:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=179e1f53b8a8ce4ea756e644fc1da0006d8f0c25'/>
<id>urn:sha1:179e1f53b8a8ce4ea756e644fc1da0006d8f0c25</id>
<content type='text'>
Y2k20 fix ;-) for our perl scripts.

* bw/perl-timegm-timelocal-fix:
  perl: call timegm and timelocal with 4-digit year
</content>
</entry>
<entry>
<title>perl Git::LoadCPAN: emit better errors under NO_PERL_CPAN_FALLBACKS</title>
<updated>2018-03-05T18:52:28Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2018-03-03T15:38:17Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1aca69c0195bd4ac671e7a36cf9b967d2bcbe200'/>
<id>urn:sha1:1aca69c0195bd4ac671e7a36cf9b967d2bcbe200</id>
<content type='text'>
Before my 20d2a30f8f ("Makefile: replace perl/Makefile.PL with simple
make rules", 2017-12-10) on an OS package that removed the
private-Error.pm copy we carried around manually removing the OS's
Error.pm would yield:

    $ git add -p
    Can't locate Error.pm in @INC (you may need to install the Error module) [...]

Now, before this change we'll instead emit this more cryptic error:

    $ git add -p
    BUG: '/usr/share/perl5/Git/FromCPAN' should be a directory! at /usr/share/perl5/Git/Error.pm line 36.

This is a confusing error. Now if the new NO_PERL_CPAN_FALLBACKS
option is specified and we can't find the module we'll instead emit:

    $ /tmp/git/bin/git add -p
    BUG: The 'Error' module is not here, but NO_PERL_CPAN_FALLBACKS was set!

    [...]

Where [...] is the lengthy explanation seen in the change below, which
explains what the potential breakage is, and how to fix it.

The reason for checking @@NO_PERL_CPAN_FALLBACKS@@] against the empty
string in Perl is as opposed to checking for a boolean value is that
that's (as far as I can tell) make's idea of a string that's set, and
e.g. NO_PERL_CPAN_FALLBACKS=0 is enough to set NO_PERL_CPAN_FALLBACKS.

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
