cat-file: move "usage" variable to cmd_cat_file()

There's no benefit to defining this at a distance, and it makes the
code harder to read as you've got to scroll up to see the usage that
corresponds to the options.

In subsequent commits I'll make use of usage_msg_opt(), which will be
quite noisy if I have to use the long "cat_file_usage" variable,
there's no other command being defined in this file, so let's rename
it to just "usage".

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Ævar Arnfjörð Bjarmason 2021-12-28 14:28:45 +01:00 committed by Junio C Hamano
parent 97fe725075
commit 5a40417876

View file

@ -618,18 +618,6 @@ static int batch_objects(struct batch_options *opt)
return retval;
}
static const char * const cat_file_usage[] = {
N_("git cat-file <type> <object>"),
N_("git cat-file (-e | -p) <object>"),
N_("git cat-file ( -t | -s ) [--allow-unknown-type] <object>"),
N_("git cat-file (--batch | --batch-check) [--batch-all-objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
" [--textconv | --filters]"),
N_("git cat-file (--textconv | --filters )\n"
" [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"),
NULL
};
static int git_cat_file_config(const char *var, const char *value, void *cb)
{
if (userdiff_config(var, value) < 0)
@ -664,6 +652,17 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
struct batch_options batch = {0};
int unknown_type = 0;
const char * const usage[] = {
N_("git cat-file <type> <object>"),
N_("git cat-file (-e | -p) <object>"),
N_("git cat-file ( -t | -s ) [--allow-unknown-type] <object>"),
N_("git cat-file (--batch | --batch-check) [--batch-all-objects]\n"
" [--buffer] [--follow-symlinks] [--unordered]\n"
" [--textconv | --filters]"),
N_("git cat-file (--textconv | --filters )\n"
" [<rev>:<path|tree-ish> | --path=<path|tree-ish> <rev>]"),
NULL
};
const struct option options[] = {
OPT_GROUP(N_("<type> can be one of: blob, tree, commit, tag")),
OPT_CMDMODE('t', NULL, &opt, N_("show object type"), 't'),
@ -700,7 +699,7 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
git_config(git_cat_file_config, NULL);
batch.buffer_output = -1;
argc = parse_options(argc, argv, prefix, options, cat_file_usage, 0);
argc = parse_options(argc, argv, prefix, options, usage, 0);
if (opt) {
if (batch.enabled && (opt == 'c' || opt == 'w'))
@ -708,35 +707,35 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
else if (argc == 1)
obj_name = argv[0];
else
usage_with_options(cat_file_usage, options);
usage_with_options(usage, options);
}
if (!opt && !batch.enabled) {
if (argc == 2) {
exp_type = argv[0];
obj_name = argv[1];
} else
usage_with_options(cat_file_usage, options);
usage_with_options(usage, options);
}
if (batch.enabled) {
if (batch.cmdmode != opt || argc)
usage_with_options(cat_file_usage, options);
usage_with_options(usage, options);
if (batch.cmdmode && batch.all_objects)
die("--batch-all-objects cannot be combined with "
"--textconv nor with --filters");
}
if ((batch.follow_symlinks || batch.all_objects) && !batch.enabled) {
usage_with_options(cat_file_usage, options);
usage_with_options(usage, options);
}
if (force_path && opt != 'c' && opt != 'w') {
error("--path=<path> needs --textconv or --filters");
usage_with_options(cat_file_usage, options);
usage_with_options(usage, options);
}
if (force_path && batch.enabled) {
error("--path=<path> incompatible with --batch");
usage_with_options(cat_file_usage, options);
usage_with_options(usage, options);
}
if (batch.buffer_output < 0)