aboutsummaryrefslogtreecommitdiff
path: root/strbuf.c
diff options
context:
space:
mode:
authorJustin Tobler <jltobler@gmail.com>2025-12-17 11:54:02 -0600
committerJunio C Hamano <gitster@pobox.com>2025-12-18 09:02:31 +0900
commit4d279ae36b1d0f68c8a7ba9b986ff9690ddc1af9 (patch)
treee8365afdff4ad0ca9820c53df26b1723809770da /strbuf.c
parent3e114496e48e665d2bb9e0c0917e6051d60392ea (diff)
downloadgit-4d279ae36b1d0f68c8a7ba9b986ff9690ddc1af9.tar.xz
builtin/repo: add inflated object info to structure table
Update the table output format for the git-repo(1) structure command to begin printing the total inflated object size info by object type. To be more human-friendly, larger values are scaled down and displayed with the appropriate unit prefix. Output for the keyvalue and nul formats remains unchanged. Signed-off-by: Justin Tobler <jltobler@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'strbuf.c')
-rw-r--r--strbuf.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/strbuf.c b/strbuf.c
index 995ff15169..7fb7d12ac0 100644
--- a/strbuf.c
+++ b/strbuf.c
@@ -886,11 +886,15 @@ void humanise_bytes(off_t bytes, char **value, const char **unit,
*unit = humanise_rate ? _("KiB/s") : _("KiB");
} else {
*value = xstrfmt("%u", (unsigned)bytes);
- *unit = humanise_rate ?
- /* TRANSLATORS: IEC 80000-13:2008 byte/second */
- Q_("byte/s", "bytes/s", bytes) :
- /* TRANSLATORS: IEC 80000-13:2008 byte */
- Q_("byte", "bytes", bytes);
+ if (flags & HUMANISE_COMPACT)
+ /* TRANSLATORS: IEC 80000-13:2008 byte/second and byte */
+ *unit = humanise_rate ? _("B/s") : _("B");
+ else
+ *unit = humanise_rate ?
+ /* TRANSLATORS: IEC 80000-13:2008 byte/second */
+ Q_("byte/s", "bytes/s", bytes) :
+ /* TRANSLATORS: IEC 80000-13:2008 byte */
+ Q_("byte", "bytes", bytes);
}
}