On Tue, Aug 20, 2019 at 4:12 PM Ben Wijen <ben@xxxxxxxxx> wrote: > diff --git a/t/t3420-rebase-autostash.sh b/t/t3420-rebase-autostash.sh > @@ -306,4 +302,13 @@ test_expect_success 'branch is left alone when possible' ' > +test_expect_success 'never change upstream branch' ' > + test_when_finished "git reset --hard && git branch -D upstream" && > + git checkout -b upstream unrelated-onto-branch && > + echo changed >file0 && > + git add file0 && > + git rebase --autostash upstream feature-branch && > + test_cmp_rev upstream unrelated-onto-branch > +' To be friendly to tests added after this one in the future, follow the example of other tests in this script by ensuring that the test switches back to the branch which was active prior to starting this test. For instance: test_expect_success 'never change upstream branch' ' git checkout -b upstream unrelated-onto-branch && test_when_finished "git reset --hard && git checkout - && git branch -D upstream" && echo changed >file0 && git add file0 && git rebase --autostash upstream feature-branch && test_cmp_rev upstream unrelated-onto-branch ' (Don't actually copy/paste the code from the other tests, since most of them switch back to the previous branch incorrectly by using "git checkout <whatever>" as the last line of the test. That won't restore the branch correctly if the test fails before it reaches that line; instead, test_when_finished() should be used to switch back to the original branch.)