On Tue, Aug 06, 2024 at 12:46:15AM +0800, shejialuo wrote: > @@ -58,15 +63,44 @@ static int cmd_refs_migrate(int argc, const char **argv, const char *prefix) > return err; > } > > +static int cmd_refs_verify(int argc, const char **argv, const char *prefix) > +{ > + struct fsck_options fsck_refs_options = FSCK_REFS_OPTIONS_DEFAULT; > + const char * const verify_usage[] = { > + REFS_VERIFY_USAGE, > + NULL, > + }; > + struct option options[] = { > + OPT_BOOL(0, "verbose", &fsck_refs_options.verbose, N_("be verbose")), > + OPT_BOOL(0, "strict", &fsck_refs_options.strict, N_("enable strict checking")), > + OPT_END(), > + }; > + int ret; > + > + argc = parse_options(argc, argv, prefix, options, verify_usage, 0); > + if (argc) > + usage(_("'git refs verify' takes no arguments")); Junio has posted a patch series [1] where he wants to get rid of messages that simply say "no arguments" or "too many arguments". I guess we can play nice and also move into the same direction here, where we instead tell the user which argument we didn't expect. So I'd propose to make this: argc = parse_options(argc, argv, prefix, options, verify_usage, 0); if (argc) usage(_("unknown argument: '%s'", argv[0])); [1]: <20240806003539.3292562-1-gitster@xxxxxxxxx> Patrick
Attachment:
signature.asc
Description: PGP signature