git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] BreakingChanges: early adopter option

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Sep 26, 2024, 14:16 UTC
Message-ID
<02d7b805-f006-43ca-906e-fe9398b8ec35@gmail.com>
In-Reply-To
<ZvVMNMiyjd4xfHzY@pks.im>
On 26/09/2024 12:57, Patrick Steinhardt wrote:
Show 17 quoted lines
> On Sun, Sep 22, 2024 at 10:51:52AM -0700, Junio C Hamano wrote:
>> Junio C Hamano <gitster@pobox.com> writes:
>>> Junio C Hamano <gitster@pobox.com> 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.

We should be able to make sure those dashed builtins fail though, while that isn't exactly the same as the command not existing it would signal that the command does not work in git3.

> That makes me personally lean into the direction fo making this a build
> time knob.
That's certainly easier to implement.
> The big downside of course is that we'll have less exposure
> as almost nobody ever would build their Git in such a way.

Yes, it's hard to see many people doing that, though if we're lucky some companies that build their own git will test the git3 build. It's also hard to judge how many people would turn on the config option - if we go with that route we could be doing (a lot?) of extra work for not much benefit.

I remember the 1.0 to 2.0 transition as a user. I recall seeing advice massages describing the upcoming changes to "git add -u" and push.default before the 2.0 release. We should check if any of the proposed changes for 3.0 would benefit from something similar.

> 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.
Indeed
Best Wishes
Phillip
Previous: Patrick SteinhardtNext: Junio C Hamano
Message 5 of 14 in “BreakingChanges: early adopter option”
  1. BreakingChanges: early adopter optionJunio C Hamano, Sep 19, 2024
  2. Junio C HamanoSep 20, 2024
  3. Junio C HamanoSep 22, 2024
  4. Patrick SteinhardtSep 26, 2024
  5. Phillip WoodSep 26, 2024
  6. Junio C HamanoSep 26, 2024
  7. Junio C HamanoSep 26, 2024
  8. Junio C HamanoSep 26, 2024
  9. BreakingChanges: early adopter optionJunio C Hamano, Oct 11, 2024
  10. Patrick SteinhardtOct 16, 2024
  11. Taylor BlauOct 16, 2024
  12. Re* [PATCH v2] BreakingChanges: early adopter optionJunio C Hamano, Feb 28, 2025
  13. Patrick SteinhardtMar 3, 2025
  14. Junio C HamanoMar 3, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.