From: Mirko Faina <mroik@delayed.space>
To: Tian Yuchen <a3205153416@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] apply.c: fix -p argument parsing
Date: Sun, 15 Mar 2026 18:56:31 +0100 [thread overview]
Message-ID: <abbv5kG15y7a9wj7@exploit> (raw)
In-Reply-To: <eda5f191-7dfa-4bc0-8ab9-225b20a5e88b@gmail.com>
On Mon, Mar 16, 2026 at 01:22:03AM +0800, Tian Yuchen wrote:
> <<-\EOF should swallow the leading tab, but since you're using spaces for
> indentation here, that would result in a space at the beginning of every
> line, right? I think <<\EOF is correct here.
>
> But Junio said you don't need to worry about it, it's all good ;)
I think that's an issue with how the email is rendered. If you view in
plaintext the raw mailbox file it does uses tabs.
>
> The rest are just minor flaws (in my opinion) that you can safely ignore:
>
> > + if (strtol_i(arg, 10, &state->p_value) < 0 || state->p_value < 0)
> > + die("<num> has to be a non-negative integer");
>
> I think something like:
>
> if (strtol_i(arg, 10, &state->p_value) || state->p_value < 0)
> die(_("option -p expects a non-negative integer, got '%s'"), arg);
>
> might be a bit better;
You're right, users that haven't looked at the help usage in a while
might not realize which argument "<num>" is, especially if there are
multiple.
Will fix this
> > +test_expect_success 'apply fails due to trailing non-digit in -p' '
> > + test_when_finished "rm -rf t test" &&
> > + test_must_fail git apply -p 2q patch
> > +'
> > +
> > +test_expect_success 'apply fails due to negative number in -p' '
> > + test_when_finished "rm -rf t test patch" &&
> > + test_must_fail git apply -p -1 patch
> > +'
> > +
> > test_expect_success 'apply git diff with -p2' '
> > cp file1.saved file1 &&
> > git apply -p2 patch.file
>
> The 'patch' is created in the first test case, will it prevent the
> subsequent test cases from running on their own?
You are right, the tests that come after that require 'patch' might not
be able to run on their own. But it is a common to not clean up files
that are required for multiple tests and only do so at the last test.
That's even the case for files generated in a 'setup' script, they are
reused for multiple tests.
On another note, you replied to the first version of the patch while
referencing the 4th. In this case it was obvious since I used a heredoc
only in the last one, but it is not always the case. Just a heads up to
reply to the correct message-id.
Thank you for the review :)
prev parent reply other threads:[~2026-03-15 17:56 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-09 23:26 [PATCH] apply.c: fix -p argument parsing Mirko Faina
2026-03-09 23:43 ` Junio C Hamano
2026-03-10 0:54 ` [PATCH v2] " Mirko Faina
2026-03-10 3:31 ` Junio C Hamano
2026-03-10 4:45 ` Mirko Faina
2026-03-10 5:06 ` [PATCH v3] " Mirko Faina
2026-03-10 13:13 ` Junio C Hamano
2026-03-13 0:16 ` Jeff King
2026-03-13 1:12 ` Jeff King
2026-03-13 1:29 ` Jeff King
2026-03-13 4:27 ` Junio C Hamano
2026-03-13 4:19 ` Junio C Hamano
2026-03-13 3:19 ` [PATCH v4] " Mirko Faina
2026-03-13 4:39 ` Junio C Hamano
2026-03-16 0:51 ` [PATCH] " Mirko Faina
2026-03-16 0:52 ` Mirko Faina
2026-03-16 19:56 ` Junio C Hamano
2026-03-15 17:22 ` Tian Yuchen
2026-03-15 17:56 ` Mirko Faina [this message]
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=abbv5kG15y7a9wj7@exploit \
--to=mroik@delayed.space \
--cc=a3205153416@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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