On Tue, Apr 30, 2024 at 06:54:12AM +0200, Patrick Steinhardt wrote: > > diff --git a/t/t1430-bad-ref-name.sh b/t/t1430-bad-ref-name.sh > > index 120e1557d7..5fb780cb08 100755 > > --- a/t/t1430-bad-ref-name.sh > > +++ b/t/t1430-bad-ref-name.sh > > @@ -400,4 +400,14 @@ test_expect_success 'update-ref refuses non-underscore outside of refs/' ' > > test_grep "refusing to update ref with bad name" err > > ' > > > > +test_expect_success REFFILES 'rev-parse refuses non-pseudoref outside of refs/' ' > > + git rev-parse HEAD >.git/bad && > > + test_must_fail git rev-parse --verify bad > > +' > > + > > +test_expect_success REFFILES 'rev-parse recognizes non-pseudoref via worktree' ' > > + git rev-parse HEAD >.git/bad && > > + test_must_fail git rev-parse --verify main-worktree/bad > > +' > > Are these really specific to the REFFILES backend? I would expect that > the reftable backend sohuld fail to parse those, too. The fact that we > write into the repository directly during the test setup doesn't change > this, because all this patch is about is that we don't want to parse > random files in the Git repo. And that is something we should want to > enforce for all backends. So this is where I will show my ignorance of reftables. I assume it still has to implement FETCH_HEAD as a file (since it holds extra data). But does it do the same for other names outside of "refs/"? I am assuming not in the paragraph below. I would expect the test to succeed after my patches on any ref backend, since we'd enforce the syntax outside of the backend-specific code. But for a backend which does not look for the root name "foo" directly in .git/, it is not an interesting test. The looked-for name does not exist for it, so even if we did try the lookup, it would fail. We cannot distinguish the two cases from the outcome we see. So I think dropping REFFILES it would still pass, but we are not really testing anything that interesting for reftables. That said, I would be OK dropping the REFFILES in the name of simplicity and just documenting it in the commit message. -Peff