From: Taylor Blau <me@ttaylorr.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: ZheNing Hu <adlternative@gmail.com>,
Git List <git@vger.kernel.org>,
johncai86@gmail.com
Subject: Re: [Question] Can git cat-file have a type filtering option?
Date: Sat, 8 Apr 2023 21:26:02 -0400 [thread overview]
Message-ID: <ZDIUKqPatP+FX8dM@nand.local> (raw)
In-Reply-To: <xmqqy1n3k63p.fsf@gitster.g>
On Fri, Apr 07, 2023 at 09:30:18AM -0700, Junio C Hamano wrote:
> ZheNing Hu <adlternative@gmail.com> writes:
>
> > all blobs, and then use `git cat-file --batch` to retrieve them. This
> > is not very elegant, or in other words, it might be better to have an
> > internal implementation of filtering within `git cat-file
> > --batch-all-objects`.
>
> It does sound prominently elegant to have each tool does one task
> and does it well, and being able to flexibly combine them to achieve
> a larger task.
Yeah, agreed. It may be *convenient* to have an easy-to-reach option in
cat-file like '--exclude-type=tree,commit,tag' or something. But the
argument falls on a pretty slippery slope, as I think you note below.
> Is the object type the only thing that people often would want to
> base their filtering decision on? Will we then see somebody else
> request a "--size-filter", and then somebody else realizes that the
> filtering criteria based on size need to be different between blobs
> (most likely counted in bytes) and trees (it may be more convenient
> to count the tree entries, not byes)? It sounds rather messy and
> we may be better off having such an extensible logic in one place.
>
> Like rev-list's object list filtering, that is.
Yes, exactly. This definitely feels like a "do one thing and do it
well". `rev-list` is the tool we have for listing revisions and objects,
and it can produce output that is compatible with the kind of input that
other tools (like `cat-file`) can interpret.
Thanks,
Taylor
next prev parent reply other threads:[~2023-04-09 1:26 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-07 14:24 [Question] Can git cat-file have a type filtering option? ZheNing Hu
2023-04-07 16:30 ` Junio C Hamano
2023-04-08 6:27 ` ZheNing Hu
2023-04-09 1:28 ` Taylor Blau
2023-04-09 2:19 ` Taylor Blau
2023-04-09 2:26 ` Taylor Blau
2023-04-09 6:51 ` ZheNing Hu
2023-04-10 20:01 ` Jeff King
2023-04-10 23:20 ` Taylor Blau
2023-04-09 6:47 ` ZheNing Hu
2023-04-10 20:14 ` Jeff King
2023-04-11 14:09 ` ZheNing Hu
2023-04-12 7:43 ` Jeff King
2023-04-12 9:57 ` ZheNing Hu
2023-04-14 7:30 ` Jeff King
2023-04-14 12:17 ` ZheNing Hu
2023-04-14 15:58 ` Junio C Hamano
2023-04-16 11:15 ` ZheNing Hu
2023-04-14 17:04 ` Linus Torvalds
2023-04-16 12:06 ` Felipe Contreras
2023-04-16 12:43 ` ZheNing Hu
2023-04-09 1:26 ` Taylor Blau [this message]
2023-04-09 1:23 ` 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=ZDIUKqPatP+FX8dM@nand.local \
--to=me@ttaylorr.com \
--cc=adlternative@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=johncai86@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.