From: Taylor Blau <me@ttaylorr.com>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
git@vger.kernel.org, ps@pks.im, christian.couder@gmail.com
Subject: Re: [PATCH 2/2] ref-filter: support filtering of operational refs
Date: Tue, 2 Jan 2024 13:47:22 -0500 [thread overview]
Message-ID: <ZZRaOhK869S1Sg1h@nand.local> (raw)
In-Reply-To: <CAOLa=ZTPxWXnZ8kpBB7=cybNfdEv6d6O37Em7Vpmcw=enpY1_w@mail.gmail.com>
On Tue, Jan 02, 2024 at 07:18:48AM -0800, Karthik Nayak wrote:
> > As "git for-each-ref" takes pattern that is prefix match, e.g.,
> >
> > $ git for-each-ref refs/remotes/
> >
> > shows everything like refs/remotes/origin/main that begins with
> > refs/remotes/, I wonder if
> >
> > $ git for-each-ref ""
> >
> > should mean what you are asking for. After all, "git for-each-ref"
> > does *not* take "--branches" and others like "git log" family to
> > limit its operation to subhierarchy of "refs/" to begin with.
>
> But I don't think using an empty pattern is the best way to go forward.
> This would break the pattern matching feature. For instance, what if the
> user wanted to print all refs, but pattern match "*_HEAD"?
>
> Would that be
>
> $ git for-each-ref "" "*_HEAD"
>
> I think this would be confusing, since the first pattern is now acting
> as an option, since its not really filtering rather its changing the
> search space.
>
> Maybe "--all-refs" or "--all-ref-types" instead?
I tend to agree that the special empty pattern would be a good shorthand
for listing all references underneath refs/, including any top-level
psuedo-refs.
But I don't think that I quite follow what Karthik is saying here.
for-each-ref returns the union of references that match the given
pattern(s), not their intersection. So if you wanted to list just the
psudo-refs ending in '_HEAD', you'd do:
$ git for-each-ref "*_HEAD"
I think if you wanted to list all pseudo-refs, calling the option
`--pseudo-refs` seems reasonable. But if you want to list some subset of
psueod-refs matching a given pattern, you should specify that pattern
directly.
Thanks,
Taylor
next prev parent reply other threads:[~2024-01-02 18:47 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-21 17:07 [RFC 0/2] Initial changes to support printing all refs Karthik Nayak
2023-12-21 17:07 ` [PATCH 1/2] refs: introduce the `refs_single_ref` function Karthik Nayak
2023-12-21 17:07 ` [PATCH 2/2] ref-filter: support filtering of operational refs Karthik Nayak
2023-12-21 20:40 ` Junio C Hamano
2023-12-22 14:05 ` Karthik Nayak
2023-12-26 17:01 ` Junio C Hamano
2024-01-02 15:18 ` Karthik Nayak
2024-01-02 16:49 ` Junio C Hamano
2024-01-02 18:47 ` Taylor Blau [this message]
2024-01-03 8:52 ` Patrick Steinhardt
2024-01-03 10:22 ` Karthik Nayak
2024-01-03 14:38 ` Junio C Hamano
2024-01-03 15:50 ` Patrick Steinhardt
2024-01-03 16:02 ` Junio C Hamano
2024-01-03 16:17 ` Patrick Steinhardt
2024-01-03 17:21 ` Junio C Hamano
2024-01-03 17:36 ` Patrick Steinhardt
2024-01-03 17:59 ` Junio C Hamano
2024-01-03 18:01 ` Patrick Steinhardt
2024-01-04 11:31 ` Karthik Nayak
2024-01-04 23:59 ` Junio C Hamano
2024-01-03 15:45 ` Taylor Blau
2024-01-03 15:52 ` Patrick Steinhardt
2024-01-03 17:00 ` Taylor Blau
2023-12-28 10:34 ` Patrick Steinhardt
2024-01-02 15:23 ` Karthik Nayak
2024-01-02 18:49 ` Taylor Blau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZZRaOhK869S1Sg1h@nand.local \
--to=me@ttaylorr.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=karthik.188@gmail.com \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).