From 2eabd383134b7dedbda0e8367ef3df63c67a0445 Mon Sep 17 00:00:00 2001 From: "brian m. carlson" Date: Mon, 28 Oct 2019 00:58:55 +0000 Subject: rev-parse: add a --show-object-format option Add an option to print the object format used for input, output, or storage. This allows shell scripts to discover the hash algorithm in use. Since the transition plan allows for multiple input algorithms, document that we may provide multiple results for input, and the format that the results may take. While we don't support this now, documenting it early means that script authors can future-proof their scripts for when we do. Signed-off-by: brian m. carlson Signed-off-by: Junio C Hamano --- builtin/rev-parse.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'builtin/rev-parse.c') diff --git a/builtin/rev-parse.c b/builtin/rev-parse.c index f8bbe6d47e..6c5d5d6a70 100644 --- a/builtin/rev-parse.c +++ b/builtin/rev-parse.c @@ -918,6 +918,17 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) show_datestring("--min-age=", arg); continue; } + if (opt_with_value(arg, "--show-object-format", &arg)) { + const char *val = arg ? arg : "storage"; + + if (strcmp(val, "storage") && + strcmp(val, "input") && + strcmp(val, "output")) + die("unknown mode for --show-object-format: %s", + arg); + puts(the_hash_algo->name); + continue; + } if (show_flag(arg) && verify) die_no_single_rev(quiet); continue; -- cgit v1.2.3