N_("for blob objects, run textconv on object's content"), 'c'),
OPT_CMDMODE(0, "filters", &opt,
N_("for blob objects, run filters on object's content"), 'w'),
+ OPT_CMDMODE(0, "batch-all-objects", &opt,
+ N_("show all objects with --batch or --batch-check"), 'b'),
OPT_STRING(0, "path", &force_path, N_("blob"),
N_("use a specific path for --textconv/--filters")),
OPT_BOOL(0, "allow-unknown-type", &unknown_type,
batch_option_callback),
OPT_BOOL(0, "follow-symlinks", &batch.follow_symlinks,
N_("follow in-tree symlinks (used with --batch or --batch-check)")),
- OPT_BOOL(0, "batch-all-objects", &batch.all_objects,
- N_("show all objects with --batch or --batch-check")),
OPT_BOOL(0, "unordered", &batch.unordered,
N_("do not order --batch-all-objects output")),
OPT_END()
git_config(git_cat_file_config, NULL);
batch.buffer_output = -1;
- argc = parse_options(argc, argv, prefix, options, usage, 0);
- if (opt) {
+ argc = parse_options(argc, argv, prefix, options, usage, 0);
+ if (argc && batch.enabled)
+ usage_with_options(usage, options);
+ if (opt == 'b') {
+ batch.all_objects = 1;
+ } else if (opt) {
if (batch.enabled && (opt == 'c' || opt == 'w'))
batch.cmdmode = opt;
else if (argc == 1)
obj_name = argv[0];
else
usage_with_options(usage, options);
- }
- if (!opt && !batch.enabled) {
+ } else if (!opt && !batch.enabled) {
if (argc == 2) {
exp_type = argv[0];
obj_name = argv[1];
} else
usage_with_options(usage, options);
- }
- if (batch.enabled) {
- if (batch.cmdmode != opt || argc)
- usage_with_options(usage, options);
- if (batch.cmdmode && batch.all_objects)
- die("--batch-all-objects cannot be combined with "
- "--textconv nor with --filters");
- }
+ } else if (batch.enabled && batch.cmdmode != opt)
+ usage_with_options(usage, options);
if ((batch.follow_symlinks || batch.all_objects) && !batch.enabled) {
usage_with_options(usage, options);