1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-07 20:56:09 +02:00

Merge branch 'rj/add-p-typo-reaction' into next

When the user responds to a prompt given by "git add -p" with an
unsupported command, list of available commands were given, which
was too much if the user knew what they wanted to type but merely
made a typo.  Now the user gets a much shorter error message.

* rj/add-p-typo-reaction:
  add-patch: response to unknown command
This commit is contained in:
Junio C Hamano 2024-04-23 15:07:00 -07:00
commit 8ac0509b47
2 changed files with 19 additions and 2 deletions

View File

@ -1667,7 +1667,7 @@ static int patch_update_file(struct add_p_state *s,
}
} else if (s->answer.buf[0] == 'p') {
rendered_hunk_index = -1;
} else {
} else if (s->answer.buf[0] == '?') {
const char *p = _(help_patch_remainder), *eol = p;
color_fprintf(stdout, s->s.help_color, "%s",
@ -1691,6 +1691,9 @@ static int patch_update_file(struct add_p_state *s,
color_fprintf_ln(stdout, s->s.help_color,
"%.*s", (int)(eol - p), p);
}
} else {
err(s, _("Unknown command '%s' (use '?' for help)"),
s->answer.buf);
}
}

View File

@ -7,6 +7,8 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-terminal.sh
SP=" "
diff_cmp () {
for x
do
@ -55,6 +57,19 @@ test_expect_success 'warn about add.interactive.useBuiltin' '
done
'
test_expect_success 'unknown command' '
test_when_finished "git reset --hard; rm -f command" &&
echo W >command &&
git add -N command &&
git diff command >expect &&
cat >>expect <<-EOF &&
(1/1) Stage addition [y,n,q,a,d,e,p,?]? Unknown command ${SQ}W${SQ} (use ${SQ}?${SQ} for help)
(1/1) Stage addition [y,n,q,a,d,e,p,?]?$SP
EOF
git add -p -- command <command >actual 2>&1 &&
test_cmp expect actual
'
test_expect_success 'setup (initial)' '
echo content >file &&
git add file &&
@ -231,7 +246,6 @@ test_expect_success 'setup file' '
'
test_expect_success 'setup patch' '
SP=" " &&
NULL="" &&
cat >patch <<-EOF
@@ -1,4 +1,4 @@