# [PATCH] .gitattributes: remove misspelled no-op whitespace attribute

3 messages from 2025-11-11 to 2025-11-11. Participants: Junio C Hamano, Jeff King.
Thread: https://gitlist.dev/t/64464

## Junio C Hamano, 2025-11-11 18:41

Subject: [PATCH] .gitattributes: remove misspelled no-op whitespace attribute
Message-ID: <xmqqv7jgwgxb.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqv7jgwgxb.fsf%40gitster.g

```
Ever since 14f9e128 (Define the project whitespace policy,
2008-02-10) added the whitespace rules to .gitattributes, we spelled
the most general rule like so:

    * whitespace=!indent,trail,space

in the top-level .gitattributes file.  The intent of this line was
described in the commit log message:

     - Unless otherwise specified, indent with SP that could be
       replaced with HT are not "bad".  But SP before HT in the
       indent is "bad", and trailing whitespaces are "bad".

It clearly wanted to disable indent-with-non-tab, so !indent is most
likely a misspelt form of '-indent'.  Because indent-with-non-tab
has never been enabled by default, by luck this was not causing any
ill effect.

We could either remove "!indent", or spell it "-indent".  The
immediate effect would be the same.  It would only start to make a
difference when/if we enable indent-with-non-tab by default in
future versions of Git.

Let's take the former option to remove "!indent" from the list.  We
would feel the effect first-hand ourselves before anybody else if we
ever decide to change the built-in default whitespace rules, which
would be hidden from us if we decide to rewrite it to "-indent"
instead.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 * There is another one in git-gui/.gitattributes that probably was
   copied from here, which may want to get fixed.

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

diff --git a/.gitattributes b/.gitattributes
index 158c3d45c4..2a50ebaf2e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,4 +1,4 @@
-* whitespace=!indent,trail,space
+* whitespace=trail,space
 *.[ch] whitespace=indent,trail,space diff=cpp
 *.sh whitespace=indent,trail,space text eol=lf
 *.perl text eol=lf diff=perl
-- 
2.52.0-rc1-455-g30608eb744


```

## Jeff King, 2025-11-11 21:39

Subject: Re: [PATCH] .gitattributes: remove misspelled no-op whitespace attribute
Message-ID: <20251111213910.GB4053071@coredump.intra.peff.net>
URL: https://gitlist.dev/e/20251111213910.GB4053071%40coredump.intra.peff.net
In-Reply-To: <xmqqv7jgwgxb.fsf@gitster.g>

```
On Tue, Nov 11, 2025 at 10:41:20AM -0800, Junio C Hamano wrote:

> We could either remove "!indent", or spell it "-indent".  The
> immediate effect would be the same.  It would only start to make a
> difference when/if we enable indent-with-non-tab by default in
> future versions of Git.
> 
> Let's take the former option to remove "!indent" from the list.  We
> would feel the effect first-hand ourselves before anybody else if we
> ever decide to change the built-in default whitespace rules, which
> would be hidden from us if we decide to rewrite it to "-indent"
> instead.

Perfectly explained, and the result makes sense.

I don't know that this patch particularly needed review, but maybe it is
nice for you to know that somebody really is out there reading them. ;)

-Peff

```

## Junio C Hamano, 2025-11-11 22:02

Subject: Re: [PATCH] .gitattributes: remove misspelled no-op whitespace attribute
Message-ID: <xmqqseekut1q.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqseekut1q.fsf%40gitster.g
In-Reply-To: <20251111213910.GB4053071@coredump.intra.peff.net>

```
Jeff King <peff@peff.net> writes:

> On Tue, Nov 11, 2025 at 10:41:20AM -0800, Junio C Hamano wrote:
>
>> We could either remove "!indent", or spell it "-indent".  The
>> immediate effect would be the same.  It would only start to make a
>> difference when/if we enable indent-with-non-tab by default in
>> future versions of Git.
>> 
>> Let's take the former option to remove "!indent" from the list.  We
>> would feel the effect first-hand ourselves before anybody else if we
>> ever decide to change the built-in default whitespace rules, which
>> would be hidden from us if we decide to rewrite it to "-indent"
>> instead.
>
> Perfectly explained, and the result makes sense.
>
> I don't know that this patch particularly needed review, but maybe it is
> nice for you to know that somebody really is out there reading them. ;)

It is mostly a principle thing.  I want to see that every non-merge
changes authored by me is treated just like patches authored by
others.

Another reason for me to send these patches out is so that I have a
copy of the patch on the lore archive, with message-ID, so that "git
log --notes=amlog" would work for my changes the same way as anybody
else's.

```
