From: Junio C Hamano Date: Sat, 5 Feb 2022 17:42:31 +0000 (-0800) Subject: Merge branch 'ab/cat-file' X-Git-Tag: v2.36.0-rc0~187 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=008028a910b1bb820ad14b976665acf0f5cd4015;p=thirdparty%2Fgit.git Merge branch 'ab/cat-file' Assorted updates to "git cat-file", especially "-h". * ab/cat-file: cat-file: s/_/-/ in typo'd usage_msg_optf() message cat-file: don't whitespace-pad "(...)" in SYNOPSIS and usage output cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters) object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY cat-file: correct and improve usage information cat-file: fix remaining usage bugs cat-file: make --batch-all-objects a CMDMODE cat-file: move "usage" variable to cmd_cat_file() cat-file docs: fix SYNOPSIS and "-h" output parse-options API: add a usage_msg_optf() cat-file tests: test messaging on bad objects/paths cat-file tests: test bad usage --- 008028a910b1bb820ad14b976665acf0f5cd4015 diff --cc parse-options.c index a8283037be,5a319dda7d..2437ad3bcd --- a/parse-options.c +++ b/parse-options.c @@@ -1076,6 -1075,19 +1076,19 @@@ void NORETURN usage_msg_opt(const char const char * const *usagestr, const struct option *options) { - fprintf(stderr, "fatal: %s\n\n", msg); + die_message("%s\n", msg); /* The extra \n is intentional */ usage_with_options(usagestr, options); } + + void NORETURN usage_msg_optf(const char * const fmt, + const char * const *usagestr, + const struct option *options, ...) + { + struct strbuf msg = STRBUF_INIT; + va_list ap; + va_start(ap, options); + strbuf_vaddf(&msg, fmt, ap); + va_end(ap); + + usage_msg_opt(msg.buf, usagestr, options); + }