]> git.ipfire.org Git - thirdparty/git.git/commit
builtin/repo: add keyvalue and nul format for stats
authorJustin Tobler <jltobler@gmail.com>
Sat, 27 Sep 2025 14:50:48 +0000 (09:50 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 28 Sep 2025 15:39:11 +0000 (08:39 -0700)
commitd9b62988ca5d881253d003fee081dc3f6aacb3bf
tree270f034a8aa7d68a582198a5467c9d0b8f18028a
parent8589bad4130007151ff50430807a80b646a69bdc
builtin/repo: add keyvalue and nul format for stats

All repository 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-stats.sh