Re: [PATCH v2] format-patch: show 0/1 and 1/1 for singleton patch with cover letter
From: Junio C Hamano <hidden>
Date: 2016-08-23 22:34:25
Jacob Keller [off-list ref] writes:
quoted hunk
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.
quoted hunk
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.
quoted hunk
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 &&