diff --git a/Documentation/config/format.adoc b/Documentation/config/format.adoc index ef1ed1d250..dbd186290b 100644 --- a/Documentation/config/format.adoc +++ b/Documentation/config/format.adoc @@ -103,7 +103,7 @@ format.coverLetter:: 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 + uses the value of this variable to decide how to format the entry of each commit. Defaults to `shortlog`. format.outputDirectory:: diff --git a/Documentation/git-format-patch.adoc b/Documentation/git-format-patch.adoc index c52dbcc170..5662382450 100644 --- a/Documentation/git-format-patch.adoc +++ b/Documentation/git-format-patch.adoc @@ -319,21 +319,21 @@ feeding the result to `git send-email`. --cover-letter:: --no-cover-letter:: - In addition to the patches, generate a cover letter file - containing the branch description, shortlog and the overall diffstat. You can - fill in a description in the file before sending it out. + In addition to the patches, generate a cover letter file containing the + branch description, commit list and the overall diffstat. You can fill + in a description in the file before sending it out. --commit-list-format=:: Specify the format in which to generate the commit list of the patch - series. The accepted values for format-spec are `shortlog`, `modern` or a - format-string prefixed with `log:`. - e.g. `log: %s (%an)` - The user is allowed to drop the prefix if the format-string contains a - `%`. - If not given, defaults to the `format.commitListFormat` configuration - variable. - This option implies the use of `--cover-letter` unless - `--no-cover-letter` is given. + series. The accepted values for format-spec are `shortlog`, `modern` or + a format-string prefixed with `log:`. E.g. `log: %s (%an)`. + `modern` is the same as `log:%w(72)[%(count)/%(total)] %s`. + The `log:` prefix can be omitted if the format-string has a `%` in it + (expecting that it is part of `%`). + Defaults to the `format.commitListFormat` configuration variable, if + set, or `shortlog`. + This option given from the command-line implies the use of + `--cover-letter` unless `--no-cover-letter` is given. --encode-email-headers:: --no-encode-email-headers:: diff --git a/builtin/log.c b/builtin/log.c index ad7b7215fe..8c0939dd42 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -1365,7 +1365,6 @@ static void generate_commit_list_cover(FILE *cover_file, const char *format, struct commit **list, int n) { struct strbuf commit_line = STRBUF_INIT; - struct strbuf wrapped_line = STRBUF_INIT; struct pretty_print_context ctx = {0}; struct rev_info rev = REV_INFO_INIT; @@ -1375,16 +1374,12 @@ static void generate_commit_list_cover(FILE *cover_file, const char *format, rev.nr = i; repo_format_commit_message(the_repository, list[n - i], format, &commit_line, &ctx); - strbuf_add_wrapped_text(&wrapped_line, commit_line.buf, 0, 0, - MAIL_DEFAULT_WRAP); - fprintf(cover_file, "%s\n", wrapped_line.buf); + fprintf(cover_file, "%s\n", commit_line.buf); strbuf_reset(&commit_line); - strbuf_reset(&wrapped_line); } fprintf(cover_file, "\n"); strbuf_release(&commit_line); - strbuf_release(&wrapped_line); } static void make_cover_letter(struct rev_info *rev, int use_separate_file, @@ -1446,7 +1441,7 @@ static void make_cover_letter(struct rev_info *rev, int use_separate_file, 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", + generate_commit_list_cover(rev->diffopt.file, "%w(72)[%(count)/%(total)] %s", list, nr); else if (strchr(format, '%')) generate_commit_list_cover(rev->diffopt.file, format, list, nr);