Subject: Re: [PATCH 2/2] ref-filter: support filtering of operational refs

From: Junio C Hamano <[email-masked]>
Date: Thu, 21 Dec 2023 12:40:03 -0800

Karthik Nayak <[email-masked]> writes:

> With the upcoming introduction of the reftable backend, it becomes ever
> so important to provide the necessary tooling for printing all refs
> associated with a repository.

We have pseudoref (those all caps files outside the refs/ hierarchy)
as an official term defined in the glossary, and Patrick's reftable
work based on Han-Wen's work revealed the need to treat FETCH_HEAD
and MERGE_HEAD as "even more pecurilar than pseudorefs" that need
different term (tentatively called "special refs").  Please avoid
coming up with yet another random name "operational" without
discussing.

With a quick look at the table in this patch, "pseudorefs" appears
to be the closest word that people are already familiar with, I
think.  A lot more reasonable thing to do may be to scan the
$GIT_DIR for files whose name satisfy refs.c:is_pseudoref_syntax()
and list them, instead of having a hardcoded list of these special
refs.  In addition, when reftable and other backends that can
natively store things outside refs/ hierarchy is in use, they ought
to know what they have so enumerating these would not be an issue
for them without having such a hardcoded table of names.