On Mon, Oct 07, 2024 at 10:56:36PM +0200, Kristoffer Haugsbakk wrote: > > There's a bit of subtlety here which makes the term "invalid" somewhat > > vague. The refname "refs/heads/HEAD" is allowed by plumbing, as we try > > to maintain backwards compatibility there. So the current prohibition is > > just within the porcelain tools: we won't allow "git branch HEAD" > > because it's an easy mistake to make, even though you could still create > > it with "git update-ref". > > Got it. Creating this one (or something like `refs/heads/HEAD` for that > matter) is allowed by the plumbing tools. But the porcelain ones are > blocked. > > Also the plumbing query `git check-ref-format --branch @` now returns > false. Since it has to harmonize with what the branch creation > porcelain can do. Yeah, good point. I was thinking the existing test was purely about the git-branch porcelain, but "check-ref-format --branch" follows the same rules. > > And naturally we'd want the same rules for "refs/heads/@". I think it > > might be worth adding "...in plumbing" to the end of the subject, and/or > > calling out this distinction in the text. > > Did you mean something like “disallow in porcelain”? Oops, yes, I had it backwards. Good catch. -Peff