[PATCH GSoC 0/5] cat-file: extend remote-object-info to support %(objecttype)
From: Pablo Sabater <hidden>
Date: 2026-07-25 11:55:33
"%(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: [ref] 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/ (local) Signed-off-by: Pablo Sabater <redacted> --- 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