From: "John Cai via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: John Cai <johncai86@gmail.com>
Subject: [PATCH 0/2] cat-file: add a --stdin-cmd mode
Date: Wed, 19 Jan 2022 17:58:40 +0000 [thread overview]
Message-ID: <pull.1191.git.git.1642615122.gitgitgadget@gmail.com> (raw)
This WIP patch is mostly stealing code from builtin/update-ref.c and
implementing the same sort of prefixed command-mode that it supports. I.e.
in addition to --batch now supporting:
<object> LF
It'll support with --stdin-cmd, with and without -z, respectively:
object <object> NL
object <object> NUL
The plus being that we can now implement additional commands:
fflush NL
fflush NUL
That command simply calls fflush(stdout), which could be done as an emergent
effect before by feeding the input a "NL".
I think this will be useful for other things, e.g. a not-trivial part of
"cat-file --batch" time is spent on parsing its argument and seeing if it's
a revision, ref etc.
So we could e.g. add a command that only accepts a full-length 40 character
SHA-1, or switch the --format output mid-request etc.
1. https://lore.kernel.org/git/pull.1124.git.git.1636149400.gitgitgadget@gmail.com/
requires ee4d43041d ab/cat-file
John Cai (2):
strvec.c: add a strvec_split_delim()
cat-file: add a --stdin-cmd mode
builtin/cat-file.c | 128 +++++++++++++++++++++++++++++++++++++++++++-
strvec.c | 23 ++++++++
strvec.h | 8 +++
t/t1006-cat-file.sh | 72 +++++++++++++++++++++++++
4 files changed, 230 insertions(+), 1 deletion(-)
base-commit: 00780c9af44409a68481c82f63a97bd18bb2593e
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1191%2Fjohn-cai%2Fjc-cat-file-stdin-cmd-mode-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1191/john-cai/jc-cat-file-stdin-cmd-mode-v1
Pull-Request: https://github.com/git/git/pull/1191
--
gitgitgadget
next reply other threads:[~2022-01-19 17:58 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-19 17:58 John Cai via GitGitGadget [this message]
2022-01-19 17:58 ` [PATCH 1/2] strvec.c: add a strvec_split_delim() John Cai via GitGitGadget
2022-01-19 17:58 ` [PATCH 2/2] cat-file: add a --stdin-cmd mode John Cai via GitGitGadget
2022-01-19 19:38 ` [PATCH 0/2] " Taylor Blau
2022-01-21 17:46 ` John Cai
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=pull.1191.git.git.1642615122.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--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.