]> git.ipfire.org Git - thirdparty/git.git/commit
builtin/repo: add keyvalue and nul format for structure stats
authorJustin Tobler <jltobler@gmail.com>
Tue, 21 Oct 2025 18:26:00 +0000 (13:26 -0500)
committerJunio C Hamano <gitster@pobox.com>
Tue, 21 Oct 2025 21:40:38 +0000 (14:40 -0700)
commit17215675b5a2c2eab54b295a7e92d953af2e8779
treef50ac93ab559c6d078813dbb3dfb1ee8170a084b
parenteb5cf58ffcd4bb117c870d448b0df0193df52c82
builtin/repo: add keyvalue and nul format for structure stats

All repository structure stats are outputted in a human-friendly table
form. This format is not suitable for machine parsing. Add a --format
option that supports three output modes: `table`, `keyvalue`, and `nul`.
The `table` mode is the default format and prints the same table output
as before.

With the `keyvalue` mode, each line of output contains a key-value pair
of a repository stat. The '=' character is used to delimit between keys
and values. The `nul` mode is similar to `keyvalue`, but key-values are
delimited by a NUL character instead of a newline. Also, instead of a
'=' character to delimit between keys and values, a newline character is
used. This allows stat values to support special characters without
having to cquote them. These two new modes provides output that is more
machine-friendly.

Signed-off-by: Justin Tobler <jltobler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-repo.adoc
builtin/repo.c
t/t1901-repo-structure.sh