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

Re: [PATCH] rebase: remove the rebase.useBuiltin setting

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 13, 2019, 20:46 UTC
Message-ID
<xmqqva1nbeno.fsf@gitster-ct.c.googlers.com>
In-Reply-To
<20190213142209.8226-1-avarab@gmail.com>
Ævar Arnfjörð Bjarmason  <avarab@gmail.com> writes:
Show 17 quoted lines
> Remove the rebase.useBuiltin setting, which was added as an escape
> hatch to disable the builtin version of rebase first released with Git
> 2.20.
> ...
>> This patch breaks the test suite (with these two new tests) under
>> GIT_TEST_REBASE_USE_BUILTIN=false. So a 2.21.0-rc0 regression.
>>
>> It would have been better to raise this before the rc period, but I just
>> noticed this now, but we can now:
>>
>>  1. Skip the test under that mode
>>  2. Fix the shell code to do the same thing
>>  3. Just remove the shell code & GIT_TEST_REBASE_USE_BUILTIN=false mode
>>
>> Maybe we should just do #3. The reason for the escape hatch was in case
>> we had bugs, and now we've had a full release cycle, but maybe that's
>> too early...

If a new feature is added to the built-in version, I do not think it is a good use of our time to backport it to the scripted version, if only to make the USE_BUILTIN=false test pass, especially when the problematic thing is a fringe feature, lack of which would not affect the real users too much.

So I do agree that #2 is a bad choice.

However, it is way too late in the cycle to say that we will ship without the escape hatch for the upcoming release, so #3 is a non starter. And you are reading too much into a full release cycle, which is merely less than 1k commits and a bit short of 3 months.

It would however be long enough to declare victory _immediately after_ the upcoming release and start the next cycle without the escape hatch. At that point we'd be committed to maintain only the built-in version.

The more important every-day features should still be covered by tests, if the scripted ones are to be kept as escape hatch. So to me #1 looks like the only sensible choice at this point, if you want to see a test cycle with USE_BUILTIN=false to fully pass (i.e. by skipping the ones that are known not to pass).

Previous: Johannes SchindelinNext: Ævar Arnfjörð Bjarmason
Message 15 of 31 in “rebase -x: sanity check command”
  1. rebase -x: sanity check commandPhillip Wood, Jan 28, 2019
  2. Junio C HamanoJan 28, 2019
  3. Johannes SchindelinJan 28, 2019
  4. Phillip WoodJan 29, 2019
  5. Johannes SchindelinJan 29, 2019
  6. Johannes SchindelinJan 28, 2019
  7. Phillip WoodJan 29, 2019
  8. Johannes SchindelinJan 29, 2019
  9. rebase -x: sanity check commandPhillip Wood, Jan 29, 2019
  10. Junio C HamanoJan 29, 2019
  11. Johannes SchindelinJan 30, 2019
  12. Ævar Arnfjörð BjarmasonFeb 13, 2019
  13. rebase: remove the rebase.useBuiltin settingÆvar Arnfjörð Bjarmason, Feb 13, 2019
  14. Johannes SchindelinFeb 13, 2019
  15. Junio C HamanoFeb 13, 2019
  16. rebase: fix regression in rebase.useBuiltin=false test modeÆvar Arnfjörð Bjarmason, Feb 13, 2019
  17. Junio C HamanoFeb 13, 2019
  18. Phillip WoodFeb 14, 2019
  19. rebase: remove the rebase.useBuiltin settingÆvar Arnfjörð Bjarmason, Mar 14, 2019
  20. Johannes SchindelinMar 14, 2019
  21. Ævar Arnfjörð BjarmasonMar 14, 2019
  22. rebase: remove the rebase.useBuiltin settingÆvar Arnfjörð Bjarmason, Mar 15, 2019
  23. Johannes SchindelinMar 15, 2019
  24. Ævar Arnfjörð BjarmasonMar 15, 2019
  25. Junio C HamanoMar 18, 2019
  26. Phillip WoodMar 18, 2019
  27. rebase: remove the rebase.useBuiltin settingÆvar Arnfjörð Bjarmason, Mar 18, 2019
  28. Phillip WoodMar 19, 2019
  29. rebase: remove transitory rebase.useBuiltin setting & envÆvar Arnfjörð Bjarmason, Mar 23, 2021
  30. Junio C HamanoMar 23, 2021
  31. Johannes SchindelinMar 23, 2021

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.