# [PATCH] gitattributes: fix eol attribute for Perl scripts

5 messages from 2026-06-15 to 2026-06-15. Participants: Koutian Wu via GitGitGadget, Patrick Steinhardt, Junio C Hamano.
Thread: https://gitlist.dev/t/65813

## Koutian Wu via GitGitGadget, 2026-06-15 04:25

Subject: [PATCH] gitattributes: fix eol attribute for Perl scripts
Message-ID: <pull.2151.git.1781497525828.gitgitgadget@gmail.com>

```
From: ktwu01 <ktwu01@gmail.com>

The *.pl pattern currently sets eof=lf, which is not a built-in
attribute used for line-ending normalization.

Use eol=lf instead, matching the neighboring *.perl and *.pm rules, so
Perl scripts are checked out with LF line endings.

Signed-off-by: ktwu01 <ktwu01@gmail.com>
---
    gitattributes: fix eol attribute for Perl scripts

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2151%2Fktwu01%2Fkw%2Ffix-pl-eol-attribute-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2151/ktwu01/kw/fix-pl-eol-attribute-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/2151

 .gitattributes | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitattributes b/.gitattributes
index 556322be01..26490ad60a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,7 +2,7 @@
 *.[ch] whitespace=indent,trail,space,incomplete diff=cpp
 *.sh whitespace=indent,trail,space,incomplete text eol=lf
 *.perl text eol=lf diff=perl
-*.pl text eof=lf diff=perl
+*.pl text eol=lf diff=perl
 *.pm text eol=lf diff=perl
 *.py text eol=lf diff=python
 *.bat text eol=crlf

base-commit: ea97ad8d017de0c9037451a78008a0fd60abea0c
-- 
gitgitgadget

```

## Patrick Steinhardt, 2026-06-15 07:22

Subject: Re: [PATCH] gitattributes: fix eol attribute for Perl scripts
Message-ID: <ai-oHtHFsyhnLDWA@pks.im>
In-Reply-To: <pull.2151.git.1781497525828.gitgitgadget@gmail.com>

```
On Mon, Jun 15, 2026 at 04:25:25AM +0000, Koutian Wu via GitGitGadget wrote:
> From: ktwu01 <ktwu01@gmail.com>
> 
> The *.pl pattern currently sets eof=lf, which is not a built-in
> attribute used for line-ending normalization.
> 
> Use eol=lf instead, matching the neighboring *.perl and *.pm rules, so
> Perl scripts are checked out with LF line endings.
> 
> Signed-off-by: ktwu01 <ktwu01@gmail.com>

The Signed-off-by and commit author should use your real name, if
possible. See [1].

> diff --git a/.gitattributes b/.gitattributes
> index 556322be01..26490ad60a 100644
> --- a/.gitattributes
> +++ b/.gitattributes
> @@ -2,7 +2,7 @@
>  *.[ch] whitespace=indent,trail,space,incomplete diff=cpp
>  *.sh whitespace=indent,trail,space,incomplete text eol=lf
>  *.perl text eol=lf diff=perl
> -*.pl text eof=lf diff=perl
> +*.pl text eol=lf diff=perl
>  *.pm text eol=lf diff=perl
>  *.py text eol=lf diff=python
>  *.bat text eol=crlf

Yeah, this looks obviously correct to me. Thanks for the fix!

Patrick

[1]: https://git-scm.com/docs/SubmittingPatches#real-name

```

## Koutian Wu via GitGitGadget, 2026-06-15 07:53

Subject: [PATCH v2] gitattributes: fix eol attribute for Perl scripts
Message-ID: <pull.2151.v2.git.1781510039164.gitgitgadget@gmail.com>
In-Reply-To: <pull.2151.git.1781497525828.gitgitgadget@gmail.com>

```
From: Koutian Wu <ktwu01@gmail.com>

The *.pl pattern currently sets eof=lf, which is not a built-in
attribute used for line-ending normalization.

Use eol=lf instead, matching the neighboring *.perl and *.pm rules, so
Perl scripts are checked out with LF line endings.

Signed-off-by: Koutian Wu <ktwu01@gmail.com>
---
    gitattributes: fix eol attribute for Perl scripts

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2151%2Fktwu01%2Fkw%2Ffix-pl-eol-attribute-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2151/ktwu01/kw/fix-pl-eol-attribute-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/2151

Range-diff vs v1:

 1:  92ba4d499d ! 1:  f4b4ca30c7 gitattributes: fix eol attribute for Perl scripts
     @@
       ## Metadata ##
     -Author: ktwu01 <ktwu01@gmail.com>
     +Author: Koutian Wu <ktwu01@gmail.com>
      
       ## Commit message ##
          gitattributes: fix eol attribute for Perl scripts
     @@ Commit message
          Use eol=lf instead, matching the neighboring *.perl and *.pm rules, so
          Perl scripts are checked out with LF line endings.
      
     -    Signed-off-by: ktwu01 <ktwu01@gmail.com>
     +    Signed-off-by: Koutian Wu <ktwu01@gmail.com>
      
       ## .gitattributes ##
      @@


 .gitattributes | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitattributes b/.gitattributes
index 556322be01..26490ad60a 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,7 +2,7 @@
 *.[ch] whitespace=indent,trail,space,incomplete diff=cpp
 *.sh whitespace=indent,trail,space,incomplete text eol=lf
 *.perl text eol=lf diff=perl
-*.pl text eof=lf diff=perl
+*.pl text eol=lf diff=perl
 *.pm text eol=lf diff=perl
 *.py text eol=lf diff=python
 *.bat text eol=crlf

base-commit: ea97ad8d017de0c9037451a78008a0fd60abea0c
-- 
gitgitgadget

```

## Patrick Steinhardt, 2026-06-15 08:37

Subject: Re: [PATCH v2] gitattributes: fix eol attribute for Perl scripts
Message-ID: <ai-5vfY8D84UhsB4@pks.im>
In-Reply-To: <pull.2151.v2.git.1781510039164.gitgitgadget@gmail.com>

```
On Mon, Jun 15, 2026 at 07:53:58AM +0000, Koutian Wu via GitGitGadget wrote:
> Range-diff vs v1:
> 
>  1:  92ba4d499d ! 1:  f4b4ca30c7 gitattributes: fix eol attribute for Perl scripts
>      @@
>        ## Metadata ##
>      -Author: ktwu01 <ktwu01@gmail.com>
>      +Author: Koutian Wu <ktwu01@gmail.com>
>       
>        ## Commit message ##
>           gitattributes: fix eol attribute for Perl scripts
>      @@ Commit message
>           Use eol=lf instead, matching the neighboring *.perl and *.pm rules, so
>           Perl scripts are checked out with LF line endings.
>       
>      -    Signed-off-by: ktwu01 <ktwu01@gmail.com>
>      +    Signed-off-by: Koutian Wu <ktwu01@gmail.com>
>       
>        ## .gitattributes ##
>       @@

Thanks, this version looks good to me!

Patrick

```

## Junio C Hamano, 2026-06-15 15:25

Subject: Re: [PATCH] gitattributes: fix eol attribute for Perl scripts
Message-ID: <xmqqa4svddvz.fsf@gitster.g>
In-Reply-To: <pull.2151.git.1781497525828.gitgitgadget@gmail.com>

```
"Koutian Wu via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: ktwu01 <ktwu01@gmail.com>
> ...
> Signed-off-by: ktwu01 <ktwu01@gmail.com>
> ---

Thanks.

This typo come from 1f34e0cd (.gitattributes: include `text`
attribute for eol attributes, 2023-02-03), that added "text" to
those entries with eol=lf, which inherited from 20460635
(.gitattributes: use the "perl" differ for Perl, 2018-04-26), which
inherited it while it was adding diff=perl from 00acdbc6
(.gitattributes: add *.pl extension for Perl, 2018-04-26) that added
the .pl pattern.  It is interesting that nobody seems to have
noticed the typo during the reviews of these three patches that
touched these lines ;-).

By the way, we'd prefer to interact with humans with real sounding
names rather than handles, especially when it is not particularly
secret.  Your authorship and sign-off information will blend better
in the community if you used "Koutian Wu".


> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2151%2Fktwu01%2Fkw%2Ffix-pl-eol-attribute-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2151/ktwu01/kw/fix-pl-eol-attribute-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/2151
>
>  .gitattributes | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.gitattributes b/.gitattributes
> index 556322be01..26490ad60a 100644
> --- a/.gitattributes
> +++ b/.gitattributes
> @@ -2,7 +2,7 @@
>  *.[ch] whitespace=indent,trail,space,incomplete diff=cpp
>  *.sh whitespace=indent,trail,space,incomplete text eol=lf
>  *.perl text eol=lf diff=perl
> -*.pl text eof=lf diff=perl
> +*.pl text eol=lf diff=perl
>  *.pm text eol=lf diff=perl
>  *.py text eol=lf diff=python
>  *.bat text eol=crlf
>
> base-commit: ea97ad8d017de0c9037451a78008a0fd60abea0c

```
