From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org, Derrick Stolee <stolee@gmail.com>,
Jonathan Nieder <jrnieder@gmail.com>,
Emily Shaffer <nasamuffin@google.com>
Subject: Re: [PATCH] BreakingChanges: early adopter option
Date: Thu, 26 Sep 2024 08:57:28 -0700 [thread overview]
Message-ID: <xmqqed56mmqf.fsf@gitster.g> (raw)
In-Reply-To: <ZvVMNMiyjd4xfHzY@pks.im> (Patrick Steinhardt's message of "Thu, 26 Sep 2024 13:57:52 +0200")
Patrick Steinhardt <ps@pks.im> writes:
>> How much more costly to do at runtime is still subject to further
>> analysis, I think. I know that it means we need to build and
>> install the docs twice to support "git -c feature.git3=on help", for
>> example, but I am not sure what the best way to use CI would be
>> (write tests that check features with different behaviour by
>> explicitly running them with "git -c feature.git3=on"? Run the same
>> set of tests in a separate job that has "[feature] git3" in its
>> $HOME/.gitconfig?).
>
> One problem with runtime toggles are commands that go away entirely. We
> can of course hide them away in various different places and make it
> impossible to call them. But one of the downsides is that it is not
> "true" to the actual removal, as for example the dashed builtins may
> still exist.
Yes, as I said, such a change to various infrastructure that are not
specific to Git 3.0 boundary (e.g. run_builtin() dispatch needs to
tell which new commands are from the future and hide them unless
configured) is costly but reusable once written. A new or removed
command that is not a built-in is even harder to manage at runtime.
> That makes me personally lean into the direction fo making this a build
> time knob. The big downside of course is that we'll have less exposure
> as almost nobody ever would build their Git in such a way. But the big
> upside is that we end up executing the code exactly as it would look
> like if it were removed, so the coverage we get e.g. both from Git devs
> and from our CI would be much more telling.
Sad but I tend to agree.
next prev parent reply other threads:[~2024-09-26 15:57 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-19 19:33 [PATCH] BreakingChanges: early adopter option Junio C Hamano
2024-09-20 21:33 ` Junio C Hamano
2024-09-22 17:51 ` Junio C Hamano
2024-09-26 11:57 ` Patrick Steinhardt
2024-09-26 14:16 ` Phillip Wood
2024-09-26 16:25 ` Junio C Hamano
2024-09-26 16:26 ` Junio C Hamano
2024-09-26 15:57 ` Junio C Hamano [this message]
2024-10-11 21:49 ` [PATCH v2] " Junio C Hamano
2024-10-16 7:22 ` Patrick Steinhardt
2024-10-16 22:07 ` Taylor Blau
2025-02-28 17:28 ` Re* " Junio C Hamano
2025-03-03 10:30 ` Patrick Steinhardt
2025-03-03 16:32 ` 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=xmqqed56mmqf.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
--cc=nasamuffin@google.com \
--cc=ps@pks.im \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.