Subject: Re: [PATCH] rebase: ignore non-branch update-refs

From: Phillip Wood <[email-masked]>
Date: Tue, 12 May 2026 16:10:51 +0100

On 11/05/2026 01:15, Abhinav Gupta wrote:
> 
> On Sun, May 10, 2026, at 16:37, Junio C Hamano wrote:
>> it would have failed to work due to the "HEAD" thing, so even though
>> existing versions of Git may have added such local tags to the insn
>> sequence, it would not have been a workable configuration anyway.
> 
> Yeah. One additional data point:
> non-interactive rebase is also broken under this configuration.

I assume you mean that rebase.instructionFormat includes "%d" and 
rebase.updateRefs is true below.

> Given a branch off main~1, it runs into the same issue:
> 
>      $ git checkout -b foo main~1
>      $ git commit --allow-empty -m 'do things'
>      $ git rebase main
>        # ...
>      error: update-ref requires a fully qualified refname e.g. refs/heads/HEAD
>      error: invalid line 2: update-ref HEAD
>      You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
>      Or you can abort the rebase with 'git rebase --abort'.
> 
> I'm guessing non-interactive rebase works off the same todo list so that makes sense.

Yes, barring some special cases where we don't support updating refs
	"git rebase <options>"
is essentially
	GIT_SEQUENCE_EDITOR=: git rebase -i <options>

Thanks

Phillip