On Tue, Oct 08, 2024 at 11:17:36AM -0700, Junio C Hamano wrote: > shejialuo <shejialuo@xxxxxxxxx> writes: > > > The reason why "git refs verify" will report this error is that in the > > code implementation, I have to iterate every file in the filesystem. So > > it's convenient for me to do the following: > > > > if (check_refname_format(iter->basename, REFNAME_ALLOW_ONELEVEL)) { > > ret = fsck_report(...); > > } > > It may be convenient, but I think it is wrong. HEAD may be allowed > at the top, but refs/heads/HEAD is not, and checking only the single > level name as you descend into .git/refs directory hierarchy and > find files would not be a good design to begin with (and it would > not work if your backend is reftable). In my current work, I will introduce worktree check here and then I will use the fullname to check and this will not be a problem. Thanks for reminding here.