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

[PATCH] bisect--helper: use BISECT_TERMS in 'bisect skip' command

From
Ramsay Jones <ramsay@ramsayjones.plus.com>
Date
Apr 25, 2021, 00:18 UTC
Message-ID
<fd40e12f-9649-1327-4bdb-dce5b5eed619@ramsayjones.plus.com>

Commit e4c7b33747 ("bisect--helper: reimplement `bisect_skip` shell function in C", 2021-02-03), as part of the shell-to-C conversion, forgot to read the 'terms' file (.git/BISECT_TERMS) during the new 'bisect skip' command implementation. As a result, the 'bisect skip' command will use the default 'bad'/'good' terms. If the bisection terms have been set to non-default values (for example by the 'bisect start' command), then the 'bisect skip' command will fail.

In order to correct this problem, we insert a call to the get_terms() function, which reads the non-default terms from that file (if set), in the '--bisect-skip' command implementation of 'bisect--helper'.

Signed-off-by: Ramsay Jones <ramsay@ramsayjones.plus.com>
---
Hi Junio,

This patch was created directly on top of commit e4c7b33747 and tested with the test from Bagas Sanjaya [1] (ie the second version of the stand-alone test file t6031-*.sh, rather than the newer patch that adds the test to t6030-*.sh). I applied this patch to the current master branch (@311531c9de55) and it also passed the test in [1].

[I created the patch on top of e4c7b33747 so that it would, hopefully, easily backport to the relevant 'maint' branches, should you feel the need. ;-) ]

At this point, I would normally have looked to see if there were other examples of forgetting to call 'get_terms()' (which seems possible). However, I am a bit busy, so I will have to add that to my TODO list ... :(

ATB, Ramsay Jones

[1] https://lore.kernel.org/git/20210421040808.14185-1-bagasdotme@gmail.com/
 builtin/bisect--helper.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c
index 7ad9b4d55b..49c07f0710 100644
--- a/builtin/bisect--helper.c
+++ b/builtin/bisect--helper.c
@@ -1129,6 +1129,7 @@ int cmd_bisect__helper(int argc, const char **argv, const char *prefix)
 		break;
 	case BISECT_SKIP:
 		set_terms(&terms, "bad", "good");
+		get_terms(&terms);
 		res = bisect_skip(&terms, argv, argc);
 		break;
 	default:
-- 
2.31.0
Next: Bagas Sanjaya
Message 1 of 4 in “bisect--helper: use BISECT_TERMS in 'bisect skip' command”
  1. bisect--helper: use BISECT_TERMS in 'bisect skip' commandRamsay Jones, Apr 25, 2021
  2. Bagas SanjayaApr 25, 2021
  3. Christian CouderApr 26, 2021
  4. Bagas SanjayaApr 28, 2021

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.