From: Pablo Sabater <pabloosabaterr@gmail.com>
To: git@vger.kernel.org
Cc: chandrapratap3519@gmail.com, karthik.188@gmail.com,
gitster@pobox.com, Pablo Sabater <pabloosabaterr@gmail.com>
Subject: [PATCH GSoC 0/5] cat-file: extend remote-object-info to support %(objecttype)
Date: Sat, 25 Jul 2026 13:55:01 +0200 [thread overview]
Message-ID: <20260725-objecttype-support-v1-0-2d4ca3bbabf1@gmail.com> (raw)
"%(objecttype)" is already known by the client's allow-list, but neither
the client nor the server knows how to handle type. This series continues
the work for git cat-file --batch-command extending remote-object-info
to support "%(objecttype)" end to end. It is based on its predecessor
series "cat-file: add remote-object-info to batch-command" [1].
Type is the last property that is identical on the server and on the
client once fetched.
Whether to support more metadata such as:
- objectsize:disk
- deltabase
- objectmode (needs context)
should be discussed, unlike size and type, the rest depend on how things
are packed on the server and on what the client already has, so they
cannot reliably match local once fetched. IMO they are not worth
supporting, I can't find a use case for them.
Adding new placeholders has become trivial.
To add a new placeholder, follow the steps in this series and add it to
the client's allow-list at 'builtin/cat-file.c'.
Based-on: <20260724-ps-eric-work-rebase-v21-0-ba67f024fdff@gmail.com>
Github CI: https://github.com/pabloosabaterr/git/actions/runs/30155586279
[1]: https://lore.kernel.org/git/20260724-ps-eric-work-rebase-v21-0-ba67f024fdff@gmail.com/
Signed-off-by: Pablo Sabater <pabloosabaterr@gmail.com>
---
Pablo Sabater (5):
protocol-caps: add type support to object-info
fetch-object-info: parse type from server response
fetch-object-info: request all supported options dynamically
serve: advertise type capability
cat-file: unify default format
Documentation/git-cat-file.adoc | 17 +++-----
Documentation/gitprotocol-v2.adoc | 15 +++++--
builtin/cat-file.c | 7 ---
fetch-object-info.c | 23 +++++++---
protocol-caps.c | 21 +++++++--
serve.c | 4 +-
t/t1017-cat-file-remote-object-info.sh | 80 +++++++++++++---------------------
t/t5701-git-serve.sh | 27 ++++++++++++
8 files changed, 113 insertions(+), 81 deletions(-)
---
base-commit: 71e19e8d2713f385c3fcef59cf6f29bcbd93d91f
change-id: 20260724-objecttype-support-ea1ef6941d07
next reply other threads:[~2026-07-25 11:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-25 11:55 Pablo Sabater [this message]
2026-07-25 11:55 ` [PATCH GSoC 1/5] protocol-caps: add type support to object-info Pablo Sabater
2026-07-25 11:55 ` [PATCH GSoC 2/5] fetch-object-info: parse type from server response Pablo Sabater
2026-07-25 11:55 ` [PATCH GSoC 3/5] fetch-object-info: request all supported options dynamically Pablo Sabater
2026-07-25 11:55 ` [PATCH GSoC 4/5] serve: advertise type capability Pablo Sabater
2026-07-25 11:55 ` [PATCH GSoC 5/5] cat-file: unify default format Pablo Sabater
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=20260725-objecttype-support-v1-0-2d4ca3bbabf1@gmail.com \
--to=pabloosabaterr@gmail.com \
--cc=chandrapratap3519@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=karthik.188@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox