On Wed, Jan 9, 2019 at 10:08 PM Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > Having said that, it is an unintended regression in the built-in rebase. > Markus, could you come up with a minimal test case, preferably in the form > of a patch to t/t3415-rebase-autosquash.sh? Something like this, perhaps? ("gmail converts tabs to spaces" caveat applies to the diff formatting): --8<-- diff --git t/t3400-rebase.sh t/t3400-rebase.sh index 3e73f7584c..cb55597a8b 100755 --- t/t3400-rebase.sh +++ t/t3400-rebase.sh @@ -59,6 +59,13 @@ test_expect_success 'rebase against master' ' git rebase master ' +test_expect_success 'rebase sets ORIG_HEAD' ' + echo Add B. > expect && + echo Modify A. >> expect && + git log --oneline --format=%s ORIG_HEAD.. > actual && + test_cmp expect actual +' + test_expect_success 'rebase, with <onto> and <upstream> specified as :/quuxery' ' test_when_finished "git branch -D torebase" && git checkout -b torebase my-topic-branch^ && -->8-- Bisect shows that the first bad commit is this one: commit 21853626eac565dd42572d90724b29863f61eb3b Author: Johannes Schindelin <johannes.schindelin@xxxxxx> Date: Fri Jan 18 07:09:27 2019 -0800 built-in rebase: call `git am` directly I verified that by undoing the crux of that commit, and that fixes the failing test: -->8-- diff --git builtin/rebase.c builtin/rebase.c index 7c7bc13e91..848f6740a0 100644 --- builtin/rebase.c +++ builtin/rebase.c @@ -728,11 +728,6 @@ static int run_specific_rebase(struct rebase_options *opts) goto finished_rebase; } - if (opts->type == REBASE_AM) { - status = run_am(opts); - goto finished_rebase; - } - add_var(&script_snippet, "GIT_DIR", absolute_path(get_git_dir())); add_var(&script_snippet, "state_dir", opts->state_dir); --8<-- But something seems off by my bisection in that the "bad" commit happens about 10 days after this email thread :/ nazri