git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Junio C Hamano <gitster@pobox.com>
Cc: Matthew Hughes <matthewhughes934@gmail.com>,
	Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>,
	git@vger.kernel.org, atthewhughes934@gmail.com,
	johannes.schindelin@gmx.de, Derrick Stolee <stolee@gmail.com>
Subject: Re: [PATCH v2 3/5] scalar: remove stale config values
Date: Mon, 8 Dec 2025 07:58:05 +0100	[thread overview]
Message-ID: <aTZ2_Y2FxbASYpPd@pks.im> (raw)
In-Reply-To: <xmqqms3vnn9e.fsf@gitster.g>

On Sun, Dec 07, 2025 at 09:34:05AM +0900, Junio C Hamano wrote:
> Patrick Steinhardt <ps@pks.im> 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's what I wanted to say, but I did so poorly :)

> > 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.

Yeah, this is of course something that can happen. I'm a bit torn on the
usefulness of the warning. Sure, it warns the user about something Git
does not understand. But that's exactly why we have optional extensions
in the first place: so that we can introduce something without old
clients understanding it.

But I can also see arguments why we want to warn. The old client would
always discard the information contained in the extension, and that may
be unfortunate depending on the extension itself. Ultimately, it's only
the user that can decide, but they are most likely not informed enough
to judge whether the warning really should be ignored or not.

Maybe there should still be a configuration that allows us to disable
this warning, for example via our advice infra?

> 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.

I think the number of years it has been since the new extension was
introduced does matter to a certain degree: the longer we wait, the less
likely it is that users will have mixed versions of Git clients where
one of the versions doesn't understand the extension.

Thanks!

Patrick

  reply	other threads:[~2025-12-08  6:58 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-26 22:18 [PATCH 0/5] Audit and document Scalar config Derrick Stolee via GitGitGadget
2025-11-26 22:18 ` [PATCH 1/5] scalar: annotate config file with "set by scalar" Derrick Stolee via GitGitGadget
2025-11-26 23:55   ` Junio C Hamano
2025-12-01  8:55     ` Patrick Steinhardt
2025-11-26 22:18 ` [PATCH 2/5] scalar: use index.skipHash=true for performance Derrick Stolee via GitGitGadget
2025-11-26 23:57   ` Junio C Hamano
2025-11-30 19:55     ` Derrick Stolee
2025-11-26 22:18 ` [PATCH 3/5] scalar: remove stale config values Derrick Stolee via GitGitGadget
2025-11-27  0:00   ` Junio C Hamano
2025-11-26 22:18 ` [PATCH 4/5] scalar: alphabetize and simplify config Derrick Stolee via GitGitGadget
2025-12-01  8:55   ` Patrick Steinhardt
2025-12-01 12:35     ` Derrick Stolee
2025-11-26 22:18 ` [PATCH 5/5] scalar: document config settings Derrick Stolee via GitGitGadget
2025-11-27  0:09   ` Junio C Hamano
2025-11-30 19:56     ` Derrick Stolee
2025-12-01  8:55   ` Patrick Steinhardt
2025-12-01 12:40     ` Derrick Stolee
2025-12-01 14:04 ` [PATCH 0/5] Audit and document Scalar config Johannes Schindelin
2025-12-01 16:50 ` [PATCH v2 " Derrick Stolee via GitGitGadget
2025-12-01 16:50   ` [PATCH v2 1/5] scalar: annotate config file with "set by scalar" Derrick Stolee via GitGitGadget
2025-12-02  7:53     ` Patrick Steinhardt
2025-12-01 16:50   ` [PATCH v2 2/5] scalar: use index.skipHash=true for performance Derrick Stolee via GitGitGadget
2025-12-01 16:50   ` [PATCH v2 3/5] scalar: remove stale config values Derrick Stolee via GitGitGadget
2025-12-01 17:46     ` Matthew Hughes
2025-12-02  7:53       ` Patrick Steinhardt
2025-12-02 19:04         ` Matthew Hughes
2025-12-02 19:22           ` Patrick Steinhardt
2025-12-07  0:34             ` Junio C Hamano
2025-12-08  6:58               ` Patrick Steinhardt [this message]
2025-12-12 13:57       ` Derrick Stolee
2025-12-01 16:50   ` [PATCH v2 4/5] scalar: alphabetize and simplify config Derrick Stolee via GitGitGadget
2025-12-01 16:50   ` [PATCH v2 5/5] scalar: document config settings Derrick Stolee via GitGitGadget
2025-12-01 17:58     ` Matthew Hughes
2025-12-02  7:53       ` Patrick Steinhardt
2025-12-11 14:20     ` Henrique Ferreiro
2025-12-12 14:06       ` Derrick Stolee
2025-12-15 12:14         ` Henrique Ferreiro
2025-12-02  2:05   ` [PATCH v2 0/5] Audit and document Scalar config Junio C Hamano
2025-12-12 15:15   ` [PATCH v3 " Derrick Stolee via GitGitGadget
2025-12-12 15:15     ` [PATCH v3 1/5] scalar: annotate config file with "set by scalar" Derrick Stolee via GitGitGadget
2025-12-12 15:15     ` [PATCH v3 2/5] scalar: use index.skipHash=true for performance Derrick Stolee via GitGitGadget
2025-12-12 15:15     ` [PATCH v3 3/5] scalar: remove stale config values Derrick Stolee via GitGitGadget
2025-12-12 15:15     ` [PATCH v3 4/5] scalar: alphabetize and simplify config Derrick Stolee via GitGitGadget
2025-12-12 15:15     ` [PATCH v3 5/5] scalar: document config settings Derrick Stolee via GitGitGadget
2025-12-15 12:33       ` Henrique Ferreiro
2025-12-12 23:49     ` [PATCH v3 0/5] Audit and document Scalar config Junio C Hamano
2025-12-15 14:33       ` Derrick Stolee
2025-12-16  0:39         ` 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=aTZ2_Y2FxbASYpPd@pks.im \
    --to=ps@pks.im \
    --cc=atthewhughes934@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitgitgadget@gmail.com \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    --cc=matthewhughes934@gmail.com \
    --cc=stolee@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).