From: Phillip Wood Date: Thu, 30 Jul 2026 13:10:31 GMT Subject: Re: [PATCH v3 1/2] rebase: skip branch symref aliases Message-ID: <0844b4e0-679b-4c0a-bea1-5779b4d0489d@gmail.com> In-Reply-To: On 29/07/2026 15:26, Junio C Hamano wrote: > Phillip Wood writes: > >>> But that was about a low level mechanism that must be more lenient >>> to be usable as repair tools to recover from such a broken state, >>> no? >> >> It checks the new value of HEAD, not the old one so I don't think so. >> The commit message talks about topgit using "git symbolic-ref" to set >> head outside "refs/heads/" - peff had previously tried to tighten it to >> reject non-branch refs but that broke topgit. I've just had a quick look >> at the topgit code and still sets HEAD to point to "refs/top-bases/..." >> by default[1], although there are plans to start using >> "refs/heads/{top-bases}/..." instead. > > Ah, that name vaguely rings a bell. Is it still in use, and now > they prevent us from forbidding funny characters like {} in the > refname? Sigh... Yes, it still seems to be maintained, I guess they chose the funny characters to try and avoid name collisions because no-one would want them in a "normal" branch name. Thanks Phillip >> ... It >> appears topgit's rebase command is built around "git rebase"[2] so I >> think we need to continue to support rebasing a non-branch HEAD. > > Sigh, again, but OK. > > Thanks. >