Re: Unreliable 'git rebase --onto'
From: Eugeniu Rosca <hidden>
Date: 2020-01-09 11:13:16
Hi Szeder, On Wed, Jan 08, 2020 at 11:35:57PM +0100, SZEDER Gábor wrote:
This is a known issue with the 'am' backend of 'git rebase'.
The good news is that work is already well under way to change the
default backend from 'am' to 'merge', which will solve this issue.
From the log message of aa523de170 (rebase: change the default backend
from "am" to "merge", 2019-12-24):
The am-backend drops information and thus limits what we can do:
[...]
* reduction in context from only having a few lines beyond those
changed means that when context lines are non-unique we can apply
patches incorrectly.[2]
[...]
[2] https://lore.kernel.org/git/CABPp-BGiu2nVMQY_t-rnFR5GQUz_ipyEE8oDocKeO+>
Alas, there is unexpected bad news: with that commit the runtime of
your 'git rebase --onto' command goes from <1sec to over 50secs.
Cc-ing Elijah, author of that patch...[$.02] I would personally take the route of regaining users' trust in 'git rebase' first, with fixing the performance penalty later on. I was quite impressed by the recent 2.24.0 performance improvements, which tells there might be room for improvement for `git rebase` too, once it is fixed. -- Best Regards, Eugeniu