From b95c59e21e6afeddc56400e162e818a9312f04d2 Mon Sep 17 00:00:00 2001 From: "brian m. carlson" Date: Thu, 9 Oct 2025 21:56:23 +0000 Subject: rev-parse: allow printing compatibility hash Right now, we have a way to print the storage hash, the input hash, and the output hash, but we lack a way to print the compatibility hash. Add a new type to --show-object-format, compat, which prints this value. If no compatibility hash exists, simply print a newline. This is important to allow users to use multiple options at once while still getting unambiguous output. Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- builtin/rev-parse.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'builtin') diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index 44ff1b8342..187b7e8be9 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -1108,11 +1108,20 @@ int cmd_rev_parse(int argc, const char *val = arg ? arg : "storage"; if (strcmp(val, "storage") && + strcmp(val, "compat") && strcmp(val, "input") && strcmp(val, "output")) die(_("unknown mode for --show-object-format: %s"), arg); - puts(the_hash_algo->name); + + if (!strcmp(val, "compat")) { + if (the_repository->compat_hash_algo) + puts(the_repository->compat_hash_algo->name); + else + putchar('\n'); + } else { + puts(the_hash_algo->name); + } continue; } if (!strcmp(arg, "--show-ref-format")) { -- cgit v1.3