diff options
| author | Mirko Faina <mroik@delayed.space> | 2026-03-27 20:48:10 +0100 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-03-27 13:10:12 -0700 |
| commit | 0284046ad01e22b5e794a864a96925791f75353c (patch) | |
| tree | d2ea26c6cec91a63bbd39f0db6379aa05e61f8b4 | |
| parent | acee42d3e5a2855cfa3b33baf3728f34fe6fb33f (diff) | |
| download | git-0284046ad01e22b5e794a864a96925791f75353c.tar.xz | |
format-patch: removing unconditional wrapping
Using format-patch with --commit-list-format different than shortlog,
causes the commit entry lines to wrap if they get longer than
MAIL_DEFAULT_WRAP (72 characters).
While this might be sensible for many when sending changes through
email, it forces this decision of wrapping on the user, reducing the
control granularity of --commit-list-format.
Teach generate_commit_list_cover() to respect commit entry line lengths
and place this wrapping rule on the "modern" preset format instead.
Signed-off-by: Mirko Faina <mroik@delayed.space>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | Documentation/git-format-patch.adoc | 2 | ||||
| -rw-r--r-- | builtin/log.c | 9 |
2 files changed, 3 insertions, 8 deletions
diff --git a/Documentation/git-format-patch.adoc b/Documentation/git-format-patch.adoc index cbbb292cb5..5662382450 100644 --- a/Documentation/git-format-patch.adoc +++ b/Documentation/git-format-patch.adoc @@ -327,7 +327,7 @@ feeding the result to `git send-email`. 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)`. - `modern` is the same as `log:[%(count)/%(total)] %s`. + `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 `%<placeholder>`). Defaults to the `format.commitListFormat` configuration variable, if 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); |
