Subject: Re: [PATCH v2 3/5] scalar: remove stale config values

From: Junio C Hamano <[email-masked]>
Date: Sun, 07 Dec 2025 09:34:05 +0900

Patrick Steinhardt <[email-masked]> writes:

> The logic around this was introduced in 2a9dedef2e (index: make
> index.threads=true enable ieot and eoie, 2018-11-19), and the ultimate
> reason for it seems to be backwards compatibility:
>
>     index.threads and index.recordOffsetTable unspecified: do not write
>     the offset table yet (to avoid alarming the user with "ignoring IEOT
>     extension" messages when an older version of Git accesses the
>     repository) but do make use of multiple threads to read the index if
>     the supporting offset table is present.
>
> Older versions of Git complained when they see unknown extensions, and
> we didn't want to expose users to such warnings.

Not "Older versions".

Any version of Git should complain mandatory index extension that it
does not understand.  And any version of Git, even today's Git,
gives a note when it ignores an optional index extension it does not
understand.

> That makes me wonder
> whether it's time now to revisit that decision -- it's been 7 years
> since then, I guess that many clients nowadays would understand the
> extension. 

I do not think 7 years matters.  The only reason you might see the
"ignoring" message is after using a newer version of Git that is
aware of that index extension, and then reverting back to an older
version.  As the index file is a purely local matter, it is not very
likely situation to begin with, and when it happens, the user should
be made aware of it.  Not understanding an optional index extension
is not a breaking sin; but being in such a situation, i.e., the user
is using older version of Git than they once used to use, is a note
worthy vent.

So yes, even this logic was introduced last week, if the only reason
is to avoid showing the note, that design decision should be
revisited.

> The only (documented) downside should thus not be that important
> anymore, but the upside is that reading the index would be faster if we
> default-enable writing the extension.
>
> Patrick