Skip to content

Commit 0284046

Browse files
Mroikgitster
authored andcommitted
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>
1 parent acee42d commit 0284046

2 files changed

Lines changed: 3 additions & 8 deletions

File tree

Documentation/git-format-patch.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ feeding the result to `git send-email`.
327327
Specify the format in which to generate the commit list of the patch
328328
series. The accepted values for format-spec are `shortlog`, `modern` or
329329
a format-string prefixed with `log:`. E.g. `log: %s (%an)`.
330-
`modern` is the same as `log:[%(count)/%(total)] %s`.
330+
`modern` is the same as `log:%w(72)[%(count)/%(total)] %s`.
331331
The `log:` prefix can be omitted if the format-string has a `%` in it
332332
(expecting that it is part of `%<placeholder>`).
333333
Defaults to the `format.commitListFormat` configuration variable, if

builtin/log.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1365,7 +1365,6 @@ static void generate_commit_list_cover(FILE *cover_file, const char *format,
13651365
struct commit **list, int n)
13661366
{
13671367
struct strbuf commit_line = STRBUF_INIT;
1368-
struct strbuf wrapped_line = STRBUF_INIT;
13691368
struct pretty_print_context ctx = {0};
13701369
struct rev_info rev = REV_INFO_INIT;
13711370

@@ -1375,16 +1374,12 @@ static void generate_commit_list_cover(FILE *cover_file, const char *format,
13751374
rev.nr = i;
13761375
repo_format_commit_message(the_repository, list[n - i], format,
13771376
&commit_line, &ctx);
1378-
strbuf_add_wrapped_text(&wrapped_line, commit_line.buf, 0, 0,
1379-
MAIL_DEFAULT_WRAP);
1380-
fprintf(cover_file, "%s\n", wrapped_line.buf);
1377+
fprintf(cover_file, "%s\n", commit_line.buf);
13811378
strbuf_reset(&commit_line);
1382-
strbuf_reset(&wrapped_line);
13831379
}
13841380
fprintf(cover_file, "\n");
13851381

13861382
strbuf_release(&commit_line);
1387-
strbuf_release(&wrapped_line);
13881383
}
13891384

13901385
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,
14461441
else if (!strcmp(format, "shortlog"))
14471442
generate_shortlog_cover_letter(&log, rev, list, nr);
14481443
else if (!strcmp(format, "modern"))
1449-
generate_commit_list_cover(rev->diffopt.file, "[%(count)/%(total)] %s",
1444+
generate_commit_list_cover(rev->diffopt.file, "%w(72)[%(count)/%(total)] %s",
14501445
list, nr);
14511446
else if (strchr(format, '%'))
14521447
generate_commit_list_cover(rev->diffopt.file, format, list, nr);

0 commit comments

Comments
 (0)