format.commitListFormat::
When the `--cover-letter-format` option is not given, `format-patch`
uses the value of this variable to decide how to format the title of
- each commit. Default to `shortlog`.
+ each commit. Defaults to `shortlog`.
format.outputDirectory::
Set a custom directory to store the resulting files instead of the
--commit-list-format=<format-spec>::
Specify the format in which to generate the commit list of the patch
- series. The accepted values for format-spec are "shortlog" or a format
- string prefixed with `log:`.
+ series. The accepted values for format-spec are `shortlog`, `modern` or a
+ format string prefixed with `log:`.
e.g. `log: %s (%an)`
If not given, defaults to the `format.commitListFormat` configuration
variable.
generate_commit_list_cover(rev->diffopt.file, format, list, nr);
else if (!strcmp(format, "shortlog"))
generate_shortlog_cover_letter(&log, rev, list, nr);
+ else if (!strcmp(format, "modern"))
+ generate_commit_list_cover(rev->diffopt.file, "[%(count)/%(total)] %s",
+ list, nr);
else
die(_("'%s' is not a valid format string"), format);
test_grep "^\[1/1\] This is a subject (A U Thor)$" patches/0000-cover-letter.patch
'
-test_expect_success 'cover letter with author and count' '
+test_expect_success 'cover letter modern format' '
test_when_finished "git reset --hard HEAD~1" &&
test_when_finished "rm -rf patches test_file" &&
touch test_file &&
git add test_file &&
git commit -m "This is a subject" &&
- git format-patch --commit-list-format="log:[%(count)/%(total)] %an" \
- -o patches HEAD~1 &&
- test_grep "^\[1/1\] A U Thor$" patches/0000-cover-letter.patch
+ git format-patch --commit-list-format="modern" -o patches HEAD~1 &&
+ test_grep "^\[1/1\] This is a subject$" patches/0000-cover-letter.patch
'
-test_expect_success 'cover letter shortlog' '
+test_expect_success 'cover letter shortlog format' '
test_when_finished "git reset --hard HEAD~1" &&
test_when_finished "rm -rf expect patches result test_file" &&
cat >expect <<-"EOF" &&
test_line_count = 2 result
'
+test_expect_success 'cover letter config commitlistformat set to modern' '
+ test_when_finished "rm -rf patches result" &&
+ test_when_finished "git config unset format.coverletter" &&
+ test_when_finished "git config unset format.commitlistformat" &&
+ git config set format.coverletter true &&
+ git config set format.commitlistformat modern &&
+ git format-patch -o patches HEAD~2 &&
+ grep -E "^[[[:digit:]]+/[[:digit:]]+] .*$" patches/0000-cover-letter.patch >result &&
+ test_line_count = 2 result
+'
+
test_expect_success 'cover letter config commitlistformat set to shortlog' '
test_when_finished "rm -rf patches result" &&
test_when_finished "git config unset format.coverletter" &&