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
index 47126f9064..d1765ce4ad 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -40,6 +40,7 @@
#include "progress.h"
#include "commit-slab.h"
#include "advice.h"
+#include "utf8.h"
#include "commit-reach.h"
#include "range-diff.h"
@@ -1364,6 +1365,7 @@ 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;
@@ -1373,12 +1375,16 @@ 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);
- fprintf(cover_file, "%s\n", commit_line.buf);
+ strbuf_add_wrapped_text(&wrapped_line, commit_line.buf, 0, 0,
+ MAIL_DEFAULT_WRAP);
+ fprintf(cover_file, "%s\n", wrapped_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,