Pranit Bauva <pranit.bauva@xxxxxxxxx> writes: > `--next-all` is meant to be used as a subcommand to support multiple > "operation mode" though the current implementation does not contain any > other subcommand along side with `--next-all` but further commits will > include some more subcommands. Sounds sensible. As long as the dispatch happens inside cmd_bisect__helper() itself, limiting the enum definition local to the function also looks like a good thing to do (and I do not see a reason why we need the world outside this function to know about the enum in the future). > Helped-by: Johannes Schindelin <Johannes.Schindelin@xxxxxx> > Mentored-by: Lars Schneider <larsxschneider@xxxxxxxxx> > Mentored-by: Christian Couder <chriscool@xxxxxxxxxxxxx> > Signed-off-by: Pranit Bauva <pranit.bauva@xxxxxxxxx> > --- > builtin/bisect--helper.c | 17 +++++++++++------ > 1 file changed, 11 insertions(+), 6 deletions(-) > > diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c > index 3324229..8111c91 100644 > --- a/builtin/bisect--helper.c > +++ b/builtin/bisect--helper.c > @@ -10,11 +10,11 @@ static const char * const git_bisect_helper_usage[] = { > > int cmd_bisect__helper(int argc, const char **argv, const char *prefix) > { > - int next_all = 0; > + enum { NEXT_ALL = 1 } cmdmode = 0; > int no_checkout = 0; > struct option options[] = { > - OPT_BOOL(0, "next-all", &next_all, > - N_("perform 'git bisect next'")), > + OPT_CMDMODE(0, "next-all", &cmdmode, > + N_("perform 'git bisect next'"), NEXT_ALL), > OPT_BOOL(0, "no-checkout", &no_checkout, > N_("update BISECT_HEAD instead of checking out the current commit")), > OPT_END() > @@ -23,9 +23,14 @@ int cmd_bisect__helper(int argc, const char **argv, const char *prefix) > argc = parse_options(argc, argv, prefix, options, > git_bisect_helper_usage, 0); > > - if (!next_all) > + if (!cmdmode) > usage_with_options(git_bisect_helper_usage, options); > > - /* next-all */ > - return bisect_next_all(prefix, no_checkout); > + switch (cmdmode) { > + case NEXT_ALL: > + return bisect_next_all(prefix, no_checkout); > + default: > + die("BUG: unknown subcommand '%d'", cmdmode); > + } > + return 0; > } > > -- > https://github.com/git/git/pull/281 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html