public inbox for git@vger.kernel.org 
 help / color / mirror / Atom feed
From: Mirko Faina <mroik@delayed•space>
To: git@vger•kernel.org
Cc: Mirko Faina <mroik@delayed•space>
Subject: [PATCH 5/7] format-patch: wrap generate_commit_list_cover()
Date: Sun, 15 Mar 2026 00:20:48 +0100	[thread overview]
Message-ID: <7be0d6c49d09158739784cc70d17ddcbcd0a1fed.1773530191.git.mroik@delayed.space> (raw)
In-Reply-To: <cover.1773530191.git.mroik@delayed.space>

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
happend to be too long.

Signed-off-by: Mirko Faina <mroik@delayed•space>
---
 builtin/log.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/builtin/log.c b/builtin/log.c
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,
-- 
2.53.0.959.g497ff81fa9


  parent reply	other threads:[~2026-03-14 23:21 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-14 23:20 [PATCH 0/7] improve "git format-patch --commit-list-format" Mirko Faina
2026-03-14 23:20 ` [PATCH 1/7] pretty.c: better die message %(count) and %(total) Mirko Faina
2026-03-14 23:20 ` [PATCH 2/7] format-patch: refactor generate_commit_list_cover Mirko Faina
2026-03-14 23:20 ` [PATCH 3/7] format-patch: rename --cover-letter-format option Mirko Faina
2026-03-14 23:20 ` [PATCH 4/7] format.commitListFormat: strip meaning from empty Mirko Faina
2026-03-14 23:20 ` Mirko Faina [this message]
2026-03-17 15:32   ` [PATCH 5/7] format-patch: wrap generate_commit_list_cover() Kristoffer Haugsbakk
2026-03-17 16:18     ` Mirko Faina
2026-03-14 23:20 ` [PATCH 6/7] format-patch: add preset for --commit-list-format Mirko Faina
2026-03-14 23:20 ` [PATCH 7/7] format-patch: --commit-list-format without prefix Mirko Faina
2026-03-17 15:29   ` Kristoffer Haugsbakk
2026-03-17 16:20     ` Mirko Faina
2026-03-19 22:38 ` [PATCH v2 0/8] improve "git format-patch --commit-list-format" Mirko Faina
2026-03-19 22:38   ` [PATCH v2 1/8] pretty.c: better die message %(count) and %(total) Mirko Faina
2026-03-19 22:38   ` [PATCH v2 2/8] format-patch: refactor generate_commit_list_cover Mirko Faina
2026-03-19 22:38   ` [PATCH v2 3/8] format-patch: rename --cover-letter-format option Mirko Faina
2026-03-19 22:38   ` [PATCH v2 4/8] docs/pretty-formats: add %(count) and %(total) Mirko Faina
2026-03-23 10:29     ` Kristoffer Haugsbakk
2026-03-23 14:00       ` Mirko Faina
2026-03-19 22:38   ` [PATCH v2 5/8] format.commitListFormat: strip meaning from empty Mirko Faina
2026-03-19 22:38   ` [PATCH v2 6/8] format-patch: wrap generate_commit_list_cover() Mirko Faina
2026-03-19 22:38   ` [PATCH v2 7/8] format-patch: add preset for --commit-list-format Mirko Faina
2026-03-19 22:38   ` [PATCH v2 8/8] format-patch: --commit-list-format without prefix Mirko Faina
2026-03-23 16:57   ` [PATCH v3 0/8] improve "git format-patch --commit-list-format" Mirko Faina
2026-03-23 16:57     ` [PATCH v3 1/8] pretty.c: better die message %(count) and %(total) Mirko Faina
2026-03-23 16:57     ` [PATCH v3 2/8] format-patch: refactor generate_commit_list_cover Mirko Faina
2026-03-23 16:57     ` [PATCH v3 3/8] format-patch: rename --cover-letter-format option Mirko Faina
2026-03-23 16:57     ` [PATCH v3 4/8] docs/pretty-formats: add %(count) and %(total) Mirko Faina
2026-03-23 16:57     ` [PATCH v3 5/8] format.commitListFormat: strip meaning from empty Mirko Faina
2026-03-23 16:57     ` [PATCH v3 6/8] format-patch: wrap generate_commit_list_cover() Mirko Faina
2026-03-23 16:57     ` [PATCH v3 7/8] format-patch: add preset for --commit-list-format Mirko Faina
2026-03-23 16:57     ` [PATCH v3 8/8] format-patch: --commit-list-format without prefix Mirko Faina
2026-03-23 20:10     ` [PATCH v3 0/8] improve "git format-patch --commit-list-format" Junio C Hamano
2026-03-24 16:19       ` Kristoffer Haugsbakk
2026-03-26 14:29       ` Phillip Wood
2026-03-26 16:37         ` Junio C Hamano
2026-03-27  1:13           ` Mirko Faina
2026-03-27 16:04             ` Junio C Hamano
2026-03-27 16:18               ` Mirko Faina
2026-03-27 16:47                 ` Junio C Hamano
2026-03-26 16:34     ` D. Ben Knoble
2026-03-26 17:15       ` Mirko Faina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7be0d6c49d09158739784cc70d17ddcbcd0a1fed.1773530191.git.mroik@delayed.space \
    --to=mroik@delayed$(echo .)space \
    --cc=git@vger$(echo .)kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox