format-patch: wrap generate_commit_list_cover()
While most conventions should not allow for the text lines in commit messages to get too long, when they do it could make emails harder to read. Teach generate_commit_list_cover() to wrap its commit lines if they are too long. Signed-off-by: Mirko Faina <mroik@delayed.space> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Mirko Faina committed
Mar 23, 2026 at 17:57 UTC
617db87921e835f02ac132e86d0f7edc0d72915e
1 file changed
+7
-1
builtin/log.c
+7
-1
@@ -40,6 +40,7 @@
40
#include "progress.h"
41
#include "commit-slab.h"
42
#include "advice.h"
43
+#include "utf8.h"
44
45
#include "commit-reach.h"
46
#include "range-diff.h"
@@ -1364,6 +1365,7 @@ static void generate_commit_list_cover(FILE *cover_file, const char *format,
1365
struct commit **list, int n)
1366
{
1367
struct strbuf commit_line = STRBUF_INIT;
1368
+ struct strbuf wrapped_line = STRBUF_INIT;
1369
struct pretty_print_context ctx = {0};
1370
struct rev_info rev = REV_INFO_INIT;
1371
@@ -1373,12 +1375,16 @@ static void generate_commit_list_cover(FILE *cover_file, const char *format,
1375
rev.nr = i;
1376
repo_format_commit_message(the_repository, list[n - i], format,
1377
&commit_line, &ctx);
1376
- fprintf(cover_file, "%s\n", commit_line.buf);
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);
1381
strbuf_reset(&commit_line);
1382
+ strbuf_reset(&wrapped_line);
1383
}
1384
fprintf(cover_file, "\n");
1385
1386
strbuf_release(&commit_line);
1387
+ strbuf_release(&wrapped_line);
1388
}
1389
1390
static void make_cover_letter(struct rev_info *rev, int use_separate_file,