git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v16 1/6] bisect--helper: use OPT_CMDMODE instead of OPT_BOOL

From
Pranit Bauva <pranit.bauva@gmail.com>
Date
Sep 29, 2017, 06:49 UTC
Message-ID
<0102015ecc65d695-22151d3b-752b-4c10-a3a3-b8ef52491664-000000@eu-west-1.amazonses.com>
In-Reply-To
<CAFZEwPOjK25m84BgTF7AL72DL_K1dHf7OrYoX=_vky9r3GayNw@mail.gmail.com>

`--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.

Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Mentored-by: Lars Schneider <larsxschneider@gmail.com>
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Pranit Bauva <pranit.bauva@gmail.com>

--- Hey,

It has been a long time since this series appeared on the mailing list. The previous version v15[1] is now split into many parts and I am sending the first part right now, will focus on getting this merged and then send out the next part.

The changes in this part:
 * Stephan pointed out that "terms" was missing in patch 2 ie.
   "bisect--helper: rewrite `check_term_format` shell function in C"
[1]:
https://public-inbox.org/git/CAFZEwPOjK25m84BgTF7AL72DL_K1dHf7OrYoX=_vky9r3GayNw@mail.gmail.com/
---
 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 3324229025300..b6ee0acb82765 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:
+		return error("BUG: unknown subcommand '%d'", cmdmode);
+	}
+	return 0;
 }

--
https://github.com/git/git/pull/410
Next: Pranit Bauva
Message 1 of 18 in “bisect--helper: use OPT_CMDMODE instead of OPT_BOOL”
  1. 1/6 bisect--helper: use OPT_CMDMODE instead of OPT_BOOLPranit Bauva, Sep 29, 2017
  2. 2/6 bisect--helper: rewrite `check_term_format` shell function in CPranit Bauva, Sep 29, 2017
  3. 5/6 t6030: explicitly test for bisection cleanupPranit Bauva, Sep 29, 2017
  4. 4/6 bisect--helper: `bisect_clean_state` shell function in CPranit Bauva, Sep 29, 2017
  5. 6/6 bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in CPranit Bauva, Sep 29, 2017
  6. Christian CouderNov 19, 2017
  7. Junio C HamanoNov 20, 2017
  8. Christian CouderNov 20, 2017
  9. 3/6 bisect--helper: `write_terms` shell function in CPranit Bauva, Sep 29, 2017
  10. Stephan BeyerSep 29, 2017
  11. Pranit BauvaSep 29, 2017
  12. Ramsay JonesSep 30, 2017
  13. Pranit BauvaOct 2, 2017
  14. Ramsay JonesOct 3, 2017
  15. Junio C HamanoOct 3, 2017
  16. Pranit BauvaOct 3, 2017
  17. Ramsay JonesOct 4, 2017
  18. Junio C HamanoOct 4, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.