From: "René Scharfe" <l.s.r@web•de>
To: Git List <git@vger•kernel.org>
Subject: [PATCH 2/2] add-patch: quit on EOF
Date: Sat, 25 Oct 2025 07:48:28 +0200 [thread overview]
Message-ID: <13529bee-1e02-4c20-9461-6569312bfe4f@web.de> (raw)
In-Reply-To: <0985f775-fb01-4de0-99a8-4775b602829a@web.de>
If we reach the end of the input, e.g. because the user pressed ctrl-D
on Linux, there is no point in showing any more prompts, as we won't get
any reply. Do the same as option 'q' would: Quit.
Signed-off-by: René Scharfe <l.s.r@web•de>
---
add-patch.c | 4 +++-
t/t3701-add-interactive.sh | 11 +++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/add-patch.c b/add-patch.c
index a70def1f81..173a53241e 100644
--- a/add-patch.c
+++ b/add-patch.c
@@ -1569,8 +1569,10 @@ static int patch_update_file(struct add_p_state *s,
if (*s->s.reset_color_interactive)
fputs(s->s.reset_color_interactive, stdout);
fflush(stdout);
- if (read_single_character(s) == EOF)
+ if (read_single_character(s) == EOF) {
+ quit = 1;
break;
+ }
if (!s->answer.len)
continue;
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index 851ca6dd91..071b78c355 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -1431,4 +1431,15 @@ test_expect_success 'invalid option s is rejected' '
test_cmp expect actual
'
+test_expect_success 'EOF quits' '
+ echo a >file &&
+ echo a >file2 &&
+ git add file file2 &&
+ echo X >file &&
+ echo X >file2 &&
+ git add -p </dev/null >out &&
+ grep file out &&
+ ! grep file2 out
+'
+
test_done
--
2.51.1
next prev parent reply other threads:[~2025-10-25 5:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-25 5:46 [PATCH 1/2] add-patch: quit without skipping undecided hunks René Scharfe
2025-10-25 5:48 ` René Scharfe [this message]
2025-10-25 16:20 ` [PATCH 2/2] add-patch: quit on EOF Junio C Hamano
2025-10-25 17:23 ` René Scharfe
2025-10-26 0:37 ` Junio C Hamano
2025-10-26 0:46 ` Junio C Hamano
2025-10-26 16:11 ` René Scharfe
2025-10-25 15:42 ` [PATCH 1/2] add-patch: quit without skipping undecided hunks Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=13529bee-1e02-4c20-9461-6569312bfe4f@web.de \
--to=l.s.r@web$(echo .)de \
--cc=git@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox