git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Patrick Steinhardt <ps@pks.im>
To: Dragan Simic <dsimic@manjaro.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/4] format-patch: fix a bug in option exclusivity and add a test to t4014
Date: Wed, 17 Apr 2024 08:27:32 +0200	[thread overview]
Message-ID: <Zh9r1K2_T5wvVJVC@tanuki> (raw)
In-Reply-To: <c975f961779b4a7b10c0743b4b8b3ad8c89cb617.1713324598.git.dsimic@manjaro.org>

[-- Attachment #1: Type: text/plain, Size: 2224 bytes --]

On Wed, Apr 17, 2024 at 05:32:42AM +0200, Dragan Simic wrote:
> Fix a bug that allows --rfc and -k options to be specified together when
> executing "git format-patch".  This bug was introduced back in the commit
> e0d7db7423a9 ("format-patch: --rfc honors what --subject-prefix sets"),
> about eight months ago, but it has remained undetected so far, presumably
> because of no associated test coverage.
> 
> Add a new test to the t4014 that covers the mutual exclusivity of the --rfc
> and -k command-line options for "git format-patch", for future coverage.
> 
> Signed-off-by: Dragan Simic <dsimic@manjaro.org>
> ---
>  builtin/log.c           | 5 ++++-
>  t/t4014-format-patch.sh | 4 ++++
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/builtin/log.c b/builtin/log.c
> index c0a8bb95e983..e5a238f1cf2c 100644
> --- a/builtin/log.c
> +++ b/builtin/log.c
> @@ -2050,8 +2050,11 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
>  	if (cover_from_description_arg)
>  		cover_from_description_mode = parse_cover_from_description(cover_from_description_arg);
>  
> -	if (rfc)
> +	/* Also mark the subject prefix as modified, for later checks */
> +	if (rfc) {
>  		strbuf_insertstr(&sprefix, 0, "RFC ");
> +		subject_prefix = 1;
> +	}

As an alternative fix, can we drop `subject_prefix` and replace it with
`sprefix.len` instead? It seems to merely be a proxy value for that
anyway, and if we didn't have that variable then the bug would not have
been possible to begin with.

Patrick

>  	if (reroll_count) {
>  		strbuf_addf(&sprefix, " v%s", reroll_count);
> diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
> index e37a1411ee24..e22c4ac34e6e 100755
> --- a/t/t4014-format-patch.sh
> +++ b/t/t4014-format-patch.sh
> @@ -1397,6 +1397,10 @@ test_expect_success '--rfc is argument order independent' '
>  	test_cmp expect actual
>  '
>  
> +test_expect_success '--rfc and -k cannot be used together' '
> +	test_must_fail git format-patch -1 --stdout --rfc -k >patch
> +'
> +
>  test_expect_success '--from=ident notices bogus ident' '
>  	test_must_fail git format-patch -1 --stdout --from=foo >patch
>  '
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2024-04-17  6:27 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17  3:32 [PATCH 0/4] format-patch: fix an option coexistence bug and add new --resend option Dragan Simic
2024-04-17  3:32 ` [PATCH 1/4] format-patch docs: avoid use of parentheses to improve readability Dragan Simic
2024-04-17  3:32 ` [PATCH 2/4] format-patch: fix a bug in option exclusivity and add a test to t4014 Dragan Simic
2024-04-17  6:15   ` Eric Sunshine
2024-04-17  6:29     ` Dragan Simic
2024-04-17  6:27   ` Patrick Steinhardt [this message]
2024-04-17  6:56     ` Dragan Simic
2024-04-18  9:12       ` Dragan Simic
2024-04-17  6:33   ` Kristoffer Haugsbakk
2024-04-17  6:40     ` Eric Sunshine
2024-04-17  7:11       ` Dragan Simic
2024-04-17 11:38         ` Kristoffer Haugsbakk
2024-04-17 11:48           ` Dragan Simic
2024-04-17  6:54     ` Dragan Simic
2024-04-17 12:00     ` Dragan Simic
2024-04-17  3:32 ` [PATCH 3/4] format-patch: new --resend option for adding "RESEND" to patch subjects Dragan Simic
2024-04-17  6:14   ` Kristoffer Haugsbakk
2024-04-17  6:36     ` Dragan Simic
2024-04-17  6:43       ` Kristoffer Haugsbakk
2024-04-17  7:16         ` Dragan Simic
2024-04-17  6:35   ` Eric Sunshine
2024-04-17  7:05     ` Dragan Simic
2024-04-17  7:17       ` Eric Sunshine
2024-04-17  7:25         ` Dragan Simic
2024-04-18 20:04       ` Dragan Simic
2024-04-17 10:02   ` Phillip Wood
2024-04-17 10:52     ` Dragan Simic
2024-04-17 11:31       ` Kristoffer Haugsbakk
2024-04-17 11:34         ` Dragan Simic
2024-04-17 11:40           ` Kristoffer Haugsbakk
2024-04-17 11:43           ` Dragan Simic
2024-04-17 15:27     ` Junio C Hamano
2024-04-17 17:34       ` Dragan Simic
2024-04-17 21:03         ` Junio C Hamano
2024-04-17 21:09           ` Dragan Simic
2024-04-18  3:12             ` Dragan Simic
2024-04-18 22:34               ` Junio C Hamano
2024-04-19  0:08                 ` Dragan Simic
2024-04-19  0:15                 ` Eric Sunshine
2024-04-19  0:45                   ` Dragan Simic
2024-04-19  3:05                     ` Eric Sunshine
2024-04-19  2:13                   ` Junio C Hamano
2024-04-19  3:07                     ` Eric Sunshine
2024-04-19 16:21                       ` Junio C Hamano
2024-04-17  3:32 ` [PATCH 4/4] t4014: add tests to cover --resend option and its exclusivity Dragan Simic
2024-04-17  6:48   ` Eric Sunshine
2024-04-17  7:20     ` Dragan Simic
2024-04-17  6:02 ` [PATCH 0/4] format-patch: fix an option coexistence bug and add new --resend option Eric Sunshine
2024-04-17  6:07   ` Dragan Simic
2024-04-17  6:23     ` Eric Sunshine
2024-04-17  6:43       ` Dragan Simic

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=Zh9r1K2_T5wvVJVC@tanuki \
    --to=ps@pks.im \
    --cc=dsimic@manjaro.org \
    --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;
as well as URLs for NNTP newsgroup(s).