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 <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`?
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