Jacob Keller <jacob.e.kel...@intel.com> writes:

> diff --git a/builtin/log.c b/builtin/log.c
> index 92dc34dcb0cc..49aa534f4a01 100644
> --- a/builtin/log.c
> +++ b/builtin/log.c
> @@ -1676,16 +1676,16 @@ int cmd_format_patch(int argc, const char **argv, 
> const char *prefix)
>               /* nothing to do */
>               return 0;
>       total = nr;
> -     if (!keep_subject && auto_number && total > 1)
> -             numbered = 1;
> -     if (numbered)
> -             rev.total = total + start_number - 1;
>       if (cover_letter == -1) {
>               if (config_cover_letter == COVER_AUTO)
>                       cover_letter = (total > 1);
>               else
>                       cover_letter = (config_cover_letter == COVER_ON);
>       }
> +     if (!keep_subject && auto_number && (total > 1 || cover_letter))
> +             numbered = 1;
> +     if (numbered)
> +             rev.total = total + start_number - 1;
>  
>       if (!signature) {
>               ; /* --no-signature inhibits all signatures */

That sounds sensible.

> diff --git a/t/t4021-format-patch-numbered.sh 
> b/t/t4021-format-patch-numbered.sh
> index 886494b58f67..ea0a388f0191 100755
> --- a/t/t4021-format-patch-numbered.sh
> +++ b/t/t4021-format-patch-numbered.sh
> @@ -36,6 +36,11 @@ test_no_numbered() {
>       test_num_no_numbered $1 2
>  }
>  
> +test_single_cover_letter_numbered() {
> +     grep "^Subject: \[PATCH 0/1\]" $1 &&
> +     grep "^Subject: \[PATCH 1/1\]" $1
> +}
> +
>  test_single_numbered() {
>       grep "^Subject: \[PATCH 1/1\]" $1
>  }
> @@ -50,6 +55,11 @@ test_expect_success 'single patch defaults to no numbers' '
>       test_single_no_numbered patch0.single
>  '
>  
> +test_expect_success 'single patch with cover-letter defaults to numbers' '
> +     git format-patch --cover-letter --stdout HEAD~1 >patch0.single &&
> +     test_single_cover_letter_numbered patch0.single
> +'

The remaining and existing tests seems to expect that the result of
each test is stored in a distinct file so that the output can be
inspected after seeing a test failure without running the script
with the "-i" option.  Perhaps rename this to patch0.single-cover or
something?  The same for the overwriting of patch1 we can see below.

>  test_expect_success 'multiple patch defaults to numbered' '
>  
>       git format-patch --stdout HEAD~2 >patch0.multiple &&
> @@ -64,6 +74,11 @@ test_expect_success 'Use --numbered' '
>  
>  '
>  
> +test_expect_success 'Use --no-numbered and --cover-letter single patch' '
> +     git format-patch --no-numbered --stdout --cover-letter HEAD~1 >patch1 &&
> +     test_no_numbered patch1
> +'
> +
>  test_expect_success 'format.numbered = true' '
>  
>       git config format.numbered true &&
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to