From: Phillip Wood Date: Mon, 25 Nov 2019 16:42:07 GMT Subject: Re: [PATCH v2 1/1] sequencer: fix empty commit check when amending Message-ID: In-Reply-To: Hi Dscho On 25/11/2019 15:53, Johannes Schindelin wrote: > Hi Phillip, > > On Mon, 25 Nov 2019, Phillip Wood wrote: > >> On 25/11/2019 03:00, Junio C Hamano wrote: >>> Phillip Wood 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`? I'm trying to create the unborn branch in the current worktree as that is where the rebase is happening Best Wishes Phillip > > Ciao, > Dscho >