Hello Git community, Below is a simple reproduction scenario for what looks to be a bug (?) in 'git rebase --onto' (v2.25.0-rc1-19-g042ed3e048af). I would appreciate your confirmation of the misbehavior. If the behavior is correct/expected, I would appreciate some feedback how to avoid it in future, since it occurs with the default parameters. 1. git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2. ### Cherry pick an upstream commit, to contrast the results with 'git rebase --onto': $ git checkout -b v4.18-cherry-pick v4.18 $ git cherry-pick 463fa44eec2fef50 Auto-merging drivers/input/touchscreen/atmel_mxt_ts.c warning: inexact rename detection was skipped due to too many files. warning: you may want to set your merge.renamelimit variable to at least 7216 and retry the command. [v4.18-cherry-pick bd142b45bf3a] Input: atmel_mxt_ts - disable IRQ across suspend Author: Evan Green <evgreen@xxxxxxxxxxxx> Date: Wed Oct 2 14:00:21 2019 -0700 1 file changed, 4 insertions(+) 3. ### In spite of the warning, the result matches the original commit: $ vimdiff <(git show 463fa44eec2fef50) <(git show v4.18-cherry-pick) 4. ### Now, backport the same commit via 'git rebase --onto' $ git rebase --onto v4.18 463fa44eec2fef50~ 463fa44eec2fef50 First, rewinding head to replay your work on top of it... Applying: Input: atmel_mxt_ts - disable IRQ across suspend 5. ### The result is different: $ git branch v4.18-rebase-onto $ git diff v4.18-cherry-pick v4.18-rebase-onto diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c index b45958e89cc5..2345b587662b 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -3139,8 +3139,6 @@ static int __maybe_unused mxt_suspend(struct device *dev) mutex_unlock(&input_dev->mutex); - disable_irq(data->irq); - return 0; } @@ -3162,6 +3160,8 @@ static int __maybe_unused mxt_resume(struct device *dev) mutex_unlock(&input_dev->mutex); + disable_irq(data->irq); + return 0; } In a nutshell, purely from user's perspective: - I get a warning from 'git cherry pick', with perfect results - I get no warning from 'git rebase --onto', with wrong results Does git still behave expectedly? TIA! -- Best Regards, Eugeniu