Hello, On Tue, Feb 13, 2024 at 8:42 PM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Patrick Steinhardt <ps@xxxxxx> writes: > > > I wonder whether we can maybe consolidate the interface into one or > > maybe even two functions where the behaviour can be tweaked with a flag > > field. Something like `refname_is_valid()` with a bunch of flags: > > > > - REFNAME_ACCEPT_HEAD to accept "HEAD" > > - REFNAME_ACCEPT_PSEUDOREF to accept all of the refs ending with > > "_HEAD" or being one of the irregular pseudorefs. > > - REFNAME_ACCEPT_INVALID_BUT_SAFE to accept refnames which aren't > > valid, but which would pass `refname_is_safe()`. > > I am certain we _can_, but it will take an actual patch to see if > such a refactoring makes the callers easier to follow, which is the > real test. FWIW, I am much less skeptical than hopeful in this > particular case. I was trying to implement this and realized that the changes sprawl multiple files and and have a fair bit of complexity since `check_refname_format()` implements its own flags. Overall, adding it to this patch series would overshadow what we're trying to do here. I think it would be best to tackle this problem after this series has landed. Junio, let me know if you want me to reroll for the whitespace issues. Otherwise, I'll wait for reviews here.