cat-file: report an error on multiple --batch options

The options callback for --batch and --batch-check detects when the two
mutually incompatible options are used. But it simply returns an error
code to parse-options, meaning the program will quit without any kind of
message to the user.

Instead, let's use error() to print something and return -1. Note that
this flips the error return from 1 to -1, but negative values are more
idiomatic here (and parse-options treats them the same).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2018-11-05 01:43:44 -05:00 committed by Junio C Hamano
parent 1f5db32d89
commit 0eb8d3767c

View File

@ -596,7 +596,7 @@ static int batch_option_callback(const struct option *opt,
struct batch_options *bo = opt->value;
if (bo->enabled) {
return 1;
return error(_("only one batch option may be specified"));
}
bo->enabled = 1;