Re: [PATCH 0/3] object-name: don't allow @ as a branch name
From: shejialuo <hidden>
Date: 2024-10-09 12:00:51
From: shejialuo <hidden>
Date: 2024-10-09 12:00:51
On Tue, Oct 08, 2024 at 11:17:36AM -0700, Junio C Hamano wrote:
shejialuo [off-list ref] writes:quoted
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.