diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2023-01-12 16:19:12 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-01-13 14:17:14 -0800 |
| commit | 4de06fbd560babfc15a929deb2deda3df40bcf3f (patch) | |
| tree | 0067be6bc5fc30af702c7436d4c16dde0a246afc | |
| parent | 2f645b33baa607629c08c0821ccd0c12c8b6ab2f (diff) | |
| download | git-4de06fbd560babfc15a929deb2deda3df40bcf3f.tar.gz git-4de06fbd560babfc15a929deb2deda3df40bcf3f.zip | |
bisect run: fix the error message
In d1bbbe45df8 (bisect--helper: reimplement `bisect_run` shell function
in C, 2021-09-13), we ported the `bisect run` subcommand to C, including
the part that prints out an error message when the implicit `git bisect
bad` or `git bisect good` failed.
However, the error message was supposed to print out whether the state
was "good" or "bad", but used a bogus (because non-populated) `args`
variable for it. This was fixed in [1], but as of [2] (when
`bisect--helper` was changed to the present `bisect-state') the error
message still talks about implementation details that should not
concern end users.
Fix that, and add a regression test to ensure that the intended form of
the error message.
1. 80c2e9657f2 (bisect--helper: report actual bisect_state() argument
on error, 2022-01-18
2. f37d0bdd42d (bisect: fix output regressions in v2.30.0, 2022-11-10)
Helped-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | builtin/bisect.c | 2 | ||||
| -rwxr-xr-x | t/t6030-bisect-porcelain.sh | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/builtin/bisect.c b/builtin/bisect.c index 9fc8db0694..0786ebf401 100644 --- a/builtin/bisect.c +++ b/builtin/bisect.c @@ -1292,7 +1292,7 @@ static int bisect_run(struct bisect_terms *terms, int argc, const char **argv) puts(_("bisect found first bad commit")); res = BISECT_OK; } else if (res) { - error(_("bisect run failed: 'bisect-state %s'" + error(_("bisect run failed: 'git bisect %s'" " exited with error code %d"), new_state, res); } else { continue; diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 9e56b42b5d..0a62ea2b3c 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -1221,4 +1221,14 @@ test_expect_success 'bisect state output with bad commit' ' grep -F "waiting for good commit(s), bad commit known" output ' +test_expect_success 'verify correct error message' ' + git bisect reset && + git bisect start $HASH4 $HASH1 && + write_script test_script.sh <<-\EOF && + rm .git/BISECT* + EOF + test_must_fail git bisect run ./test_script.sh 2>error && + grep "git bisect good.*exited with error code" error +' + test_done |
