Hi Phillip, On Mon, 25 Nov 2019, Phillip Wood wrote: > On 25/11/2019 03:00, Junio C Hamano wrote: > > Phillip Wood <phillip.wood123@xxxxxxxxx> writes: > > > > > We do actually check that there is a valid HEAD before we try to fixup > > > a commit. Though perhaps we should still change this patch as HEAD may > > > be changed by another process between that check and re-reading it > > > here. If you try to fixup a commit without a valid HEAD you get > > > > > > error: need a HEAD to fixup > > > hint: Could not execute the todo command > > > hint: > > > hint: fixup faef1a5a7637ff91b3611aabd1b96541da5f5536 P > > > hint: > > > hint: It has been rescheduled; To edit the command before continuing, > > > hint: please > > > hint: edit the todo list first: > > > hint: > > > hint: git rebase --edit-todo > > > hint: git rebase --continue > > > error: could not copy '.git/rebase-merge/message-squash' to > > > '.git/rebase-merge/message' > > > > > > The last error message is unfortunate but we do exit in an orderly > > > manner rather than segfaulting. > > > > Thanks for thinking about the issue further. > > > > > diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh > > > index d2f1d5bd23..4f55f0cd1c 100755 > > > --- a/t/t3404-rebase-interactive.sh > > > +++ b/t/t3404-rebase-interactive.sh > > > @@ -67,6 +67,21 @@ test_expect_success 'setup' ' > > > SHELL= > > > export SHELL > > > > > > +test_expect_success 'fixup on orphan branch errors out' ' > > > + > > > + test_when_finished "git switch master" && > > > + write_script switch-branch.sh <<-\EOF && > > > + git symbolic-ref HEAD refs/heads/does-not-exist && > > > + git rm -rf . > > > > That "git rm -rf ." scares me, though. > > I know I'm not too keen on it my self but we need to empty the worktree and > index if we're going to switch to an unborn branch How about `git worktree --orphan does-not-exist unborn`? Ciao, Dscho