From: Jay Soffian <hidden> Date: 2016-06-15 22:46:37
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
Sorry, I should have checked myself. defined-or "//" is 5.8.1 or later.
Now the real question was if we still support anything older, and if so
what is the bottom version?
I certainly can go with "5.8.1 or later", but I vaguely recall during the
gitweb discussion we said anything without the utf-8 support is unusable
for gitweb, but I think we also said that the rest of the git codebase
should support running with something older (5.6.1, perhaps).
15 minutes of research:
* 2006-06-25 Junio C Hamano: "Tentatively let's say our cut-off point is
somewhere around 5.6." --
http://article.gmane.org/gmane.comp.version-control.git/22607
* 2008-05-30 Lea Wiemann: "Gitweb relies on Unicode support (e.g. "use
Encode") and will continue to be compatible with 5.8 and 5.10 only" --
http://article.gmane.org/gmane.comp.version-control.git/83339
* 2008-08-13 Lea Wiemann: "This makes Git.pm dependent on Perl 5.6.1. Some
tests (like t3701-add-interactive.sh) seem to work with pretty much any Perl
version out there, and requiring File::Spec changes this" --
http://article.gmane.org/gmane.comp.version-control.git/92260
* 2008-08-15 Marcus Griep: "Git.pm: Make File::Spec and File::Temp requirement
lazy" -- c14c8ce
* 2008-08-30 Junio C Hamano: "I agree we should say we rely on 5.6 or newer."
-- http://article.gmane.org/gmane.comp.version-control.git/94399
* 2008-09-01 Junio C Hamano: "I personally think it is probably Ok to declare
that we do depend on 5.8" --
http://article.gmane.org/gmane.comp.version-control.git/94523
So here's my take-away. For the *.perl scripts and gitweb, it's 5.8.0. For the
test suite and Git.pm, all Perl versions are theoretically supported, but for
practical purposes, it may be 5.6.0.
Whatever is decided this time, perhaps it should be burned into the tops of
the *.perl scripts (i.e. "require 5.008;"). It should also be added to
CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
j.
I started this new thread to address Junio's question about the oldest
supported Perl version, so that tidbit isn't really relevant and I
should've trimmed it from the new thread. Nonetheless, thank you for
the correction again again, and enjoy your new MUA. :-)
j.
On Mon, 20 Apr 2009 10:59:00 -0400, Jay Soffian [off-list ref]
wrote:
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
quoted
Sorry, I should have checked myself. defined-or "//" is 5.8.1 or later.
Being the maintainer of the defined-or patch for perl 5.8, I can
short-circuit this
* defined-or (//) is officially available from perl-5.10.0 and up
you can be *sure* to have it there. the 'err' keyword that was the
low-precedence version for // is gone.
* defined-or is available in any version of perl 5.8.x is the binary
was built with the appropriate patch, which is available on my CPAN
directory:
ftp://download.xs4all.nl/pub/mirror/CPAN/authors/id/H/HM/HMBRAND/
These patches still include the 'err' keyword
* defined-or is definitely NOT available in 5.6.x
All my perl-5.8.x builds include this patch, so all people that use my
perl builds on HP-UX, will have it available.
One major distribution also included it in their perl builds, but I do
not remember which it is.
My personal preference for the lowest usable and reliable perl version
is 5.8.5 (FWIW)
quoted
Now the real question was if we still support anything older, and if so
what is the bottom version?
I certainly can go with "5.8.1 or later", but I vaguely recall during the
gitweb discussion we said anything without the utf-8 support is unusable
for gitweb, but I think we also said that the rest of the git codebase
should support running with something older (5.6.1, perhaps).
15 minutes of research:
* 2006-06-25 Junio C Hamano: "Tentatively let's say our cut-off point is
somewhere around 5.6." --
http://article.gmane.org/gmane.comp.version-control.git/22607
* 2008-05-30 Lea Wiemann: "Gitweb relies on Unicode support (e.g. "use
Encode") and will continue to be compatible with 5.8 and 5.10 only" --
http://article.gmane.org/gmane.comp.version-control.git/83339
* 2008-08-13 Lea Wiemann: "This makes Git.pm dependent on Perl 5.6.1. Some
tests (like t3701-add-interactive.sh) seem to work with pretty much any Perl
version out there, and requiring File::Spec changes this" --
http://article.gmane.org/gmane.comp.version-control.git/92260
* 2008-08-15 Marcus Griep: "Git.pm: Make File::Spec and File::Temp requirement
lazy" -- c14c8ce
* 2008-08-30 Junio C Hamano: "I agree we should say we rely on 5.6 or newer."
-- http://article.gmane.org/gmane.comp.version-control.git/94399
* 2008-09-01 Junio C Hamano: "I personally think it is probably Ok to declare
that we do depend on 5.8" --
http://article.gmane.org/gmane.comp.version-control.git/94523
So here's my take-away. For the *.perl scripts and gitweb, it's 5.8.0. For the
test suite and Git.pm, all Perl versions are theoretically supported, but for
practical purposes, it may be 5.6.0.
Whatever is decided this time, perhaps it should be burned into the tops of
the *.perl scripts (i.e. "require 5.008;"). It should also be added to
CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
From: Johannes Schindelin <hidden> Date: 2016-06-15 22:46:37
Hi,
On Mon, 20 Apr 2009, H.Merijn Brand wrote:
* defined-or is available in any version of perl 5.8.x is the binary
was built with the appropriate patch, which is available on my CPAN
directory:
ftp://download.xs4all.nl/pub/mirror/CPAN/authors/id/H/HM/HMBRAND/
These patches still include the 'err' keyword
Do you realize how much _pain_ you cause here? I just do not have the
_time_ to recompile Perl 5.8 for msysGit!
Bah,
Dscho "who thinks that a lot of people would not introduce dependencies
so lightly if they actually felt the pain they cause"
From: Jakub Narebski <hidden> Date: 2016-06-15 22:46:37
Jay Soffian [off-list ref] writes:
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
quoted
Now the real question was if we still support anything older, and if so
what is the bottom version?
I certainly can go with "5.8.1 or later", but I vaguely recall during the
gitweb discussion we said anything without the utf-8 support is unusable
for gitweb, but I think we also said that the rest of the git codebase
should support running with something older (5.6.1, perhaps).
So here's my take-away. For the *.perl scripts and gitweb, it's
5.8.0. For the test suite and Git.pm, all Perl versions are
theoretically supported, but for practical purposes, it may be
5.6.0.
Errr... no. For gitweb we require good Unicode support, which means
Perl 5.8.x (IIRC 5.8.1). For all other: commands (and helpers)
written in Perl like git-svn, fragments of Perl in test suite (because
of incompatibility and corner cases of shell scripting) - with possible
exception of testing gitweb, and Git.pm (which some commands in Perl
use) I think it is reasonable to expect 5.6.0 at least.
Whatever is decided this time, perhaps it should be burned into the tops of
the *.perl scripts (i.e. "require 5.008;"). It should also be added to
CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
j.
From: Jay Soffian <hidden> Date: 2016-06-15 22:46:37
On Mon, Apr 20, 2009 at 1:59 PM, Jakub Narebski [off-list ref] wrote:
Jay Soffian [off-list ref] writes:
quoted
So here's my take-away. For the *.perl scripts and gitweb, it's
5.8.0. For the test suite and Git.pm, all Perl versions are
theoretically supported, but for practical purposes, it may be
5.6.0.
Errr... no. For gitweb we require good Unicode support, which means
Perl 5.8.x (IIRC 5.8.1). For all other: commands (and helpers)
written in Perl like git-svn, fragments of Perl in test suite (because
of incompatibility and corner cases of shell scripting) - with possible
exception of testing gitweb, and Git.pm (which some commands in Perl
use) I think it is reasonable to expect 5.6.0 at least.
Um, isn't that basically exactly what I said? The only difference is
you're clarifying gitweb to be 5.8.1 instead of 5.8.0. Fine. that's
why this went to the git list.
j.
From: Jay Soffian <hidden> Date: 2016-06-15 22:46:37
On Mon, Apr 20, 2009 at 2:27 PM, Jay Soffian [off-list ref] wrote:
Um, isn't that basically exactly what I said? The only difference is
you're clarifying gitweb to be 5.8.1 instead of 5.8.0. Fine. that's
why this went to the git list.
Oh sorry, I see we differ on the *.perl scripts. You're saying 5.6 for
those. I was suggesting 5.8 for the *.perl scripts based on:
http://article.gmane.org/gmane.comp.version-control.git/94523
Anyway, I see that there are basically a few categories to decide on:
1) gitweb
2) the *.perl scripts
3) Git.pm
4) the parts of the test suite that use perl
I think there is consensus that (1) is 5.8.1 for unicode reasons. (3)
and (4), for all practical purposes, are apparently 5.6.0. So that
leaves (2), which is either 5.6.0 or 5.8.1 depending upon which gmane
thread you consult.
j.
From: Michael Witten <hidden> Date: 2016-06-15 22:46:37
On Mon, Apr 20, 2009 at 13:32, Jay Soffian [off-list ref] wrote:
Anyway, I see that there are basically a few categories to decide on:
1) gitweb
2) the *.perl scripts
3) Git.pm
4) the parts of the test suite that use perl
I think there is consensus that (1) is 5.8.1 for unicode reasons. (3)
and (4), for all practical purposes, are apparently 5.6.0. So that
leaves (2), which is either 5.6.0 or 5.8.1 depending upon which gmane
thread you consult.
It looks like 5.6.0 was released a DECADE ago. Drop it.
My advice is to take the advice of Perl hacker H.Merijn Brand:
My personal preference for the lowest usable and reliable perl version
From: Michael Witten <hidden> Date: 2016-06-15 22:46:37
On Mon, Apr 20, 2009 at 14:11, Johannes Schindelin
[off-list ref] wrote:
Hi,
On Mon, 20 Apr 2009, Michael Witten wrote:
quoted
It looks like 5.6.0 was released a DECADE ago. Drop it.
What part of "causing others a lot of pain" did you not understand,
exactly?
I'd say: Take your own advice.
It's very likely that requiring compatibility with a DECADE old perl
is going to cause others a lot of pain.
At some point, backward compatibility is just stupid; it's meant for TRANSITION.
On Mon, 20 Apr 2009 19:29:03 +0200 (CEST), Johannes Schindelin
[off-list ref] wrote:
Hi,
On Mon, 20 Apr 2009, H.Merijn Brand wrote:
quoted
* defined-or is available in any version of perl 5.8.x is the binary
was built with the appropriate patch, which is available on my CPAN
directory:
ftp://download.xs4all.nl/pub/mirror/CPAN/authors/id/H/HM/HMBRAND/
These patches still include the 'err' keyword
Do you realize how much _pain_ you cause here?
Me? Why?
I just couldn't line *without* defined-or after I first encountered it,
so I backported it to 5.8.x (after some patch from someone else) and
people thought it would be a good idea to semi-officially allow it to
be available for all.
Officially, defined-or is *NOT* available in perl-5.8.x. End of story.
*ALL* my production code expects defined-or to be available.
I just do not have the _time_ to recompile Perl 5.8 for msysGit!
Sorry, I can't help you there
Bah,
Dscho "who thinks that a lot of people would not introduce dependencies
so lightly if they actually felt the pain they cause"
On Mon, 20 Apr 2009 10:59:14 -0700 (PDT), Jakub Narebski
[off-list ref] wrote:
Jay Soffian [off-list ref] writes:
quoted
On Sun, Apr 19, 2009 at 9:58 PM, Junio C Hamano [off-list ref] wrote:
quoted
Now the real question was if we still support anything older, and if so
what is the bottom version?
I certainly can go with "5.8.1 or later", but I vaguely recall during the
gitweb discussion we said anything without the utf-8 support is unusable
for gitweb, but I think we also said that the rest of the git codebase
should support running with something older (5.6.1, perhaps).
quoted
So here's my take-away. For the *.perl scripts and gitweb, it's
5.8.0. For the test suite and Git.pm, all Perl versions are
theoretically supported, but for practical purposes, it may be
5.6.0.
Errr... no. For gitweb we require good Unicode support, which means
Perl 5.8.x (IIRC 5.8.1). For all other: commands (and helpers)
Unicode? 5.8.4 or up. Most desirable 5.8.5
5.8.1 is the worst distribution ever.
ask purl on irc :
<Tux> purl, perl-5.8.1?
<purl> i guess perl-5.8.1 is made from blood, sweat, tears, coffee and single malt
written in Perl like git-svn, fragments of Perl in test suite (because
of incompatibility and corner cases of shell scripting) - with possible
exception of testing gitweb, and Git.pm (which some commands in Perl
use) I think it is reasonable to expect 5.6.0 at least.
5.6.1 or 5.8.5
quoted
Whatever is decided this time, perhaps it should be burned into the tops of
the *.perl scripts (i.e. "require 5.008;"). It should also be added to
CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
From: Jeff King <hidden> Date: 2016-06-15 22:46:38
On Mon, Apr 20, 2009 at 10:59:00AM -0400, Jay Soffian wrote:
Whatever is decided this time, perhaps it should be burned into the tops of
the *.perl scripts (i.e. "require 5.008;"). It should also be added to
CodingGuidelines. You know, so this conversation doesn't keep recurring. :-)
I have no real comment on _which_ version, but yes, I think a 'require'
for the right version would be very helpful. The error messages you get
when running on a too-old version can be confusing, at best. Saying "you
need a newer perl" would be much nicer.
-Peff