rebase-in-C stability for 2.20
- Date: Tue, 13 Nov 2018 22:50:05 +0100
- From: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
- Subject: rebase-in-C stability for 2.20
On Tue, Nov 13 2018, Phillip Wood wrote:
> Hi Johannes
> On 13/11/2018 19:21, Johannes Schindelin wrote:
>> Hi Phillip,
>> On Tue, 13 Nov 2018, Phillip Wood wrote:
>>> Thanks for looking at this. Unfortunately using OPT_PASSTHRU_ARGV seems to
>>> break the error reporting
>>> bin/wrappers/git rebase --onto @^^^^ @^^ -Cbad
>>> git encountered an error while preparing the patches to replay
>>> these revisions:
>>> As a result, git cannot rebase them.
> git 2.19.1 gives
> First, rewinding head to replay your work on top of it...
> Applying: Ninth batch for 2.20
> error: switch `C' expects a numerical value
> So it has a clear message as to what the error is, this patch
> regresses that. It would be better if rebase detected the error before
> starting though.
>>> If I do
>>> bin/wrappers/git rebase @^^ -Cbad
>>> I get no error, it just tells me that it does not need to rebase (which is
>> Hmm. Isn't this the same behavior as with the scripted version?
> Ah you're right the script does not check if the option argument is valid.
>> Also: are
>> we sure that we want to allow options to come *after* the `<upstream>`
> Maybe not but the scripted version does. I'm not sure if that is a
> good idea or not.
According to Junio's calendar we're now 2 days from 2.20-rc0. We have
the js/rebase-autostash-detach-fix bug I reported sitting in "pu" still,
and then this.
I see we still have rebase.useBuiltin in the code as an escape hatch,
but it's undocumented.
Given that we're still finding regressions bugs in the rebase-in-C
version should we be considering reverting 5541bd5b8f ("rebase: default
to using the builtin rebase", 2018-08-08)?
I love the feature, but fear that the current list of known regressions
serve as a canary for a larger list which we'd discover if we held off
for another major release (and would re-enable rebase.useBuiltin=true in
master right after 2.20 is out the door).
But maybe I'm being overly paranoid. What do those more familiar with