<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-archimport.perl, branch jch</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=jch</id>
<link rel='self' href='https://git.shady.money/git/atom?h=jch'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2024-10-23T20:16:36Z</updated>
<entry>
<title>Require Perl 5.26.0</title>
<updated>2024-10-23T20:16:36Z</updated>
<author>
<name>brian m. carlson</name>
<email>sandals@crustytoothpaste.net</email>
</author>
<published>2024-10-23T00:45:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=702d8c1f3b5377a64670b0f22add157b0bfc33dd'/>
<id>urn:sha1:702d8c1f3b5377a64670b0f22add157b0bfc33dd</id>
<content type='text'>
Our platform support policy states that we require "versions of
dependencies which are generally accepted as stable and supportable,
e.g., in line with the version used by other long-term-support
distributions".  Of Debian, Ubuntu, RHEL, and SLES, the four most common
distributions that provide LTS versions, the version with mainstream
long-term security support with the oldest Perl is 5.26.0 in SLES 15.6.

This is a major upgrade, since Perl 5.8.1, according to the Perl
documentation, was released in September of 2003.  It brings a lot of
new features that we can choose to use, such as s///r to return the
modified string, the postderef functionality, and subroutine signatures,
although the latter was still considered experimental until 5.36.

This change was made with the following one-liner, which intentionally
excludes modifying the vendored modules we include to avoid conflicts:

    git grep -l 'use 5.008001' | grep -v 'LoadCPAN/' | xargs perl -pi -e 's/use 5.008001/require v5.26/'

Use require instead of use to avoid changing the behavior as the latter
enables features and the former does not.

Signed-off-by: brian m. carlson &lt;sandals@crustytoothpaste.net&gt;
Signed-off-by: Taylor Blau &lt;me@ttaylorr.com&gt;
</content>
</entry>
<entry>
<title>perl: bump the required Perl version to 5.8.1 from 5.8.0</title>
<updated>2023-11-16T22:26:32Z</updated>
<author>
<name>Todd Zullinger</name>
<email>tmz@pobox.com</email>
</author>
<published>2023-11-16T19:30:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d13a73e383076636534e10ba799af0c9a2b85357'/>
<id>urn:sha1:d13a73e383076636534e10ba799af0c9a2b85357</id>
<content type='text'>
The following commit will make use of a Getopt::Long feature which is
only present in Perl &gt;= 5.8.1.  Document that as the minimum version we
support.

Many of our Perl scripts will continue to run with 5.8.0 but this change
allows us to adjust them as needed without breaking any promises to our
users.

The Perl requirement was last changed in d48b284183 (perl: bump the
required Perl version to 5.8 from 5.6.[21], 2010-09-24).  At that time,
5.8.0 was 8 years old.  It is now over 21 years old.

Signed-off-by: Todd Zullinger &lt;tmz@pobox.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>archimport: use safe_pipe_capture for user input</title>
<updated>2017-09-12T02:08:15Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2017-09-11T14:24:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=8d0fad0a7a6ba34fd706c148fa7ed1f8eb2b8b26'/>
<id>urn:sha1:8d0fad0a7a6ba34fd706c148fa7ed1f8eb2b8b26</id>
<content type='text'>
Refnames can contain shell metacharacters which need to be
passed verbatim to sub-processes. Using safe_pipe_capture
skips the shell entirely.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-archimport: use a lowercase "usage:" string</title>
<updated>2013-02-24T21:31:06Z</updated>
<author>
<name>David Aguilar</name>
<email>davvid@gmail.com</email>
</author>
<published>2013-02-24T00:50:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=165c4b136573405f3d9c3af56a5e67acb058990b'/>
<id>urn:sha1:165c4b136573405f3d9c3af56a5e67acb058990b</id>
<content type='text'>
Make the usage string consistent with Git.

Reviewed-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: David Aguilar &lt;davvid@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>perl: use "use warnings" instead of -w</title>
<updated>2010-09-27T19:37:56Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2010-09-24T20:00:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3328acedc6104e3d46e8f0d26006d9650092ef3e'/>
<id>urn:sha1:3328acedc6104e3d46e8f0d26006d9650092ef3e</id>
<content type='text'>
Change the Perl scripts to turn on lexical warnings instead of setting
the global $^W variable via the -w switch.

The -w sets warnings for all code that interpreter runs, while "use
warnings" is lexically scoped. The former is probably not what the
authors wanted.

As an auxiliary benefit it's now possible to build Git with:

    PERL_PATH='/usr/bin/env perl'

Which would previously result in failures, since "#!/usr/bin/env perl -w"
doesn't work as a shebang.

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>
<entry>
<title>perl: bump the required Perl version to 5.8 from 5.6.[21]</title>
<updated>2010-09-27T19:37:41Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2010-09-24T20:00:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d48b28418355ef41a9501eb28a82ec0b69e62a17'/>
<id>urn:sha1:d48b28418355ef41a9501eb28a82ec0b69e62a17</id>
<content type='text'>
Formalize our dependency on perl 5.8, bumped from 5.6.[12]. We already
used the three-arg form of open() which was introduced in 5.6.1, but
t/t9700/test.pl explicitly depended on 5.6.2.

However git-add--interactive.pl has been failing on the 5.6 line since
it was introduced in v1.5.0-rc0~12^2~2 back in 2006 due to this open
syntax:

    sub run_cmd_pipe {
           my $fh = undef;
           open($fh, '-|', @_) or die;
           return &lt;$fh&gt;;
    }

Which when executed dies on "Can't use an undefined value as
filehandle reference". Several of our tests also fail on 5.6 (even
more when compiled with NO_PERL_MAKEMAKER=1):

    t2016-checkout-patch.sh
    t3904-stash-patch.sh
    t3701-add-interactive.sh
    t7105-reset-patch.sh
    t7501-commit.sh
    t9700-perl-git.sh

Our code is bitrotting on 5.6 with no-one interested in fixing it, and
pinning us to such an ancient release of Perl is keeping us from using
useful features introduced in the 5.8 release.

The 5.6 series is now over 10 years old, and the 5.6.2 maintenance
release almost 7. 5.8 on the other hand is more than 8 years old.

All the modern Unix-like operating systems have now upgraded to it or
a later version, and 5.8 packages are available for old IRIX, AIX
Solaris and Tru64 systems.

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Acked-by: Tor Arntsen &lt;tor@spacetec.no&gt;
Acked-by: Randal L. Schwartz &lt;merlyn@stonehenge.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Make usage strings dash-less</title>
<updated>2008-07-13T21:12:48Z</updated>
<author>
<name>Stephan Beyer</name>
<email>s-beyer@gmx.net</email>
</author>
<published>2008-07-13T13:36:15Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1b1dd23f2d6a707b7077cdf6bc6d4055bd0bfb7d'/>
<id>urn:sha1:1b1dd23f2d6a707b7077cdf6bc6d4055bd0bfb7d</id>
<content type='text'>
When you misuse a git command, you are shown the usage string.
But this is currently shown in the dashed form.  So if you just
copy what you see, it will not work, when the dashed form
is no longer supported.

This patch makes git commands show the dash-less version.

For shell scripts that do not specify OPTIONS_SPEC, git-sh-setup.sh
generates a dash-less usage string now.

Signed-off-by: Stephan Beyer &lt;s-beyer@gmx.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Make git-archimport log entries more consistent</title>
<updated>2007-08-31T02:22:02Z</updated>
<author>
<name>Miles Bader</name>
<email>miles@gnu.org</email>
</author>
<published>2007-08-30T01:56:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=608403d7a522adb3f8c0244956a332ed1b286668'/>
<id>urn:sha1:608403d7a522adb3f8c0244956a332ed1b286668</id>
<content type='text'>
When appending the "git-archimport-id:" line to the end of log entries,
git-archimport would use two blank lines as a separator when there was no
body in the arch log (only a Summary: line), and zero blank lines when there
was a body (making it hard to see the break between the actual log message
and the git-archimport-id: line).

This patch makes git-archimport generate one blank line as a separator in all
cases.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>War on whitespace</title>
<updated>2007-06-07T07:04:01Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2007-06-07T07:04:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a6080a0a44d5ead84db3dabbbc80e82df838533d'/>
<id>urn:sha1:a6080a0a44d5ead84db3dabbbc80e82df838533d</id>
<content type='text'>
This uses "git-apply --whitespace=strip" to fix whitespace errors that have
crept in to our source files over time.  There are a few files that need
to have trailing whitespaces (most notably, test vectors).  The results
still passes the test, and build result in Documentation/ area is unchanged.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-archimport: allow remapping branch names</title>
<updated>2007-03-07T18:30:22Z</updated>
<author>
<name>Paolo Bonzini</name>
<email>paolo.bonzini@lu.unisi.ch</email>
</author>
<published>2007-03-07T09:43:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d9cb5399ee6e3ca4b3190f158ada7bd3802b3c70'/>
<id>urn:sha1:d9cb5399ee6e3ca4b3190f158ada7bd3802b3c70</id>
<content type='text'>
This patch adds support to archimport for remapping the branch
names to match those used in git more closely.  This is useful
for projects that migrate to git (as opposed to users that want
to use git on Arch-based projects).  For example, one can choose
an Arch branch name and call it "master".

The new command-line syntax works even if there is a colon in
a branch name, since only the part after the last colon is taken
to be the git name (git does not allow colons in branch names).

The new feature is implemented so that archives rotated every
year can also be remapped into a single git archive.

Signed-off-by: Paolo Bonzini  &lt;bonzini@gnu.org&gt;
Signed-off-by: Junio C Hamano &lt;junkio@cox.net&gt;
</content>
</entry>
</feed>
