Git development
 help / color / mirror / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Tuomas Ahola <taahol@utu.fi>, git@vger.kernel.org
Subject: Re: [PATCH] CodingGuidelines: update the required Perl version
Date: Wed, 4 Nov 2026 22:28:30 +0000	[thread overview]
Message-ID: <auuxjhaauAQ7Vtjs@fruit.crustytoothpaste.net> (raw)
In-Reply-To: <xmqq5wyc1iba.fsf@gitster.g>

[-- Attachment #1: Type: text/plain, Size: 2725 bytes --]

On 2026-11-04 at 19:56:57, Junio C Hamano wrote:
> Tuomas Ahola <taahol@utu.fi> writes:
> 
> > Junio C Hamano <gitster@pobox.com> wrote:
> >
> >> Tuomas Ahola <taahol@utu.fi> writes:
> >> 
> >> > - - We try to support Perl 5.8.1 and later ("use Perl 5.008001").
> >> > + - We try to support Perl 5.26.0 and later ("use Perl 5.026000").
> >> 
> >> Is this in line with what 702d8c1f3b did?  Shouldn't we say
> >> 
> >> > + - We try to support Perl 5.26.0 and later ("require v5.26").
> >> 
> >> "require v5.26" instead?
> >> 
> >
> > Frankly, I don't make head nor tail of such Perl minutiae.  I would find that
> > parenthetical much more useful if it told exactly when we are supposed to use
> > such incantations.
> 
> I do not claim to be intimately familiar, but you can consult the
> commit you cited as the reason why you decided to make this update.
> 
>     $ git show 702d8c1f3b
>     commit 702d8c1f3b5377a64670b0f22add157b0bfc33dd
>     Author: brian m. carlson <sandals@crustytoothpaste.net>
>     Date:   Wed Oct 23 00:45:59 2024 +0000
> 
>         Require Perl 5.26.0
> 
>         Our platform support policy states that we require "versions of
>         ...
>         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 <sandals@crustytoothpaste.net>
>         Signed-off-by: Taylor Blau <me@ttaylorr.com>
> 
>     ...
>     diff --git a/contrib/diff-highlight/DiffHighlight.pm b/contrib/diff-highlight/DiffHighlight.pm
>     index 636add6968..3d061bc0b7 100644
>     --- a/contrib/diff-highlight/DiffHighlight.pm
>     +++ b/contrib/diff-highlight/DiffHighlight.pm
>     @@ -1,6 +1,6 @@
>      package DiffHighlight;
> 
>     -use 5.008001;
>     +require v5.26;
>      use warnings FATAL => 'all';
>      use strict;
> 
> It looks to me that the "parenthetical" you called was designed to
> be useful by telling you what to have near the top of your Perl
> source files.  Replacing it with "require v5.26" is exactly in line
> with that, I would think.

As mentioned above, you want `require`, not `use`, with Perl versions.
The latter enables the relevant features, which include Unicode strings
as of 5.12, and that will change the behaviour of our code in ways we're
probably not expecting.  That didn't happen in 5.8.1 because features
didn't exist, so the `use` for that version was okay.

You effectively always want `require v5.26` or something equivalent such
as `require 5.026` in our codebase.  The former is nicer to read,
though.
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Speaking for myself only

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 325 bytes --]

  reply	other threads:[~2026-11-04 22:28 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-01 18:58 [PATCH] CodingGuidelines: update the required Perl version Tuomas Ahola
2026-11-02  4:08 ` Junio C Hamano
2026-11-04 19:34   ` Tuomas Ahola
2026-11-04 19:56     ` Junio C Hamano
2026-11-04 22:28       ` brian m. carlson [this message]
2026-11-05 17:42         ` Junio C Hamano
2026-11-02  6:41 ` Junio C Hamano
2026-11-04 18:59   ` Junio C Hamano
2026-11-05 18:39 ` [PATCH v2] " Tuomas Ahola
2026-11-05 18:45   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=auuxjhaauAQ7Vtjs@fruit.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=taahol@utu.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox