@ -618,18 +618,6 @@ static int batch_objects(struct batch_options *opt)
@@ -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)
@@ -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)
@@ -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)
@@ -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)