From: kristofferhaugsbakk@fastmail.com
To: git@vger.kernel.org
Cc: Kristoffer Haugsbakk <code@khaugsbakk.name>,
christian.couder@gmail.com, jackmanb@google.com,
Linus Arver <linus@ucla.edu>,
"D . Ben Knoble" <ben.knoble@gmail.com>,
Matt Hunter <m@lfurio.us>, Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v4 09/11] doc: interpret-trailers: commit to “trailer block” term
Date: Thu, 30 Jul 2026 11:18:22 +0200 [thread overview]
Message-ID: <V4_trailer_block_term.aeb@msgid.xyz> (raw)
In-Reply-To: <V4_CV_doc_int-tr_key_format.ae2@msgid.xyz>
From: Kristoffer Haugsbakk <code@khaugsbakk.name>
We chose to introduce the term “trailer block” into the documentation a
few commits ago.[1] It is used in the code though, so it is not a newly
invented term.
That term was useful to explain where the trailers are found (they
*trail* the message). But it is also useful here, where we explain
how trailers are added to existing messages, how trailer blocks are
found (beyond the simple case in the introduction), and how the end
of the message is found.
Also note that we simplify the “blank line” point. The text says:
A blank line will be added before the new trailer if there isn't one
already.
But this isn’t quite coherent. The previous sentence says “If there is
no existing trailer”, so we are in one of these modes:
1. discussing trailer blocks in general; or
2. discussing creating a new trailer block in particular.
If (1), then we shouldn’t add a blank line before the new trailer if
there exists a trailer block already. And if (2), then the “if there
isn’t one already” is redundant.[2] So just talking about the higher-
level “trailer block” simplifies the text, since we don’t have to worry
about the different contexts that *trailers* can find themselves in.
† 1: in commit “explain the format after the intro”
† 2: Note that non-trailer lines don’t matter here; if you have a
trailer block consisting of `(cherry picked from commit <commit>)`,
then you still shouldn’t insert a blank line before the new trailer
since that would create a new trailer block
Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
---
Notes (series):
v4:
• Tweak “blank line” reminder (“Recall that”) by dropping
“specifically” since it is redundant based on [1]. Well, I
thought I understood the feedback here but reading it again
today I was confused. @Junio, did I understand it correctly?
My thought process: This “recall that” is similar to other
“recall” phrases added in the series. They add some redundancy,
similar in spirit to 74522b6b (Documentation/git-update-ref.txt:
discuss symbolic refs, 2024-10-21) :
| Add a paragraph which just emphasizes that the command without
| any options does not support refs in the final arguments. This
| is clear already from the names `<new-oid>` and `<old-oid>` but
| the right balance of redundancy makes documentation robust
| against stray interpretation.
• Msg: Editing the above I noticed that the previous (before this
change “blank line” explanation isn’t (quite) coherent. I want to
explain every meaningful point of change in the commit message, so
I dedicate some “also” paragraphs to that change.
• For [1] again: s/Concretely, that/A trailer block/ since it flows
better
• For [1] again: Fix mangled “The trailer block is by definition”
sentence and make sure to use “commit message”. We use “commit
message” throughout the doc, not just “message”. But just use
“message” in the next sentence since it is clear that we are
still talking about *commit* message.
• Msg: Reflow existing paragraph
🔗 1: https://lore.kernel.org/git/xmqqcxxyt4op.fsf@gitster.g/#t
---
v2: [new]
Documentation/git-interpret-trailers.adoc | 26 ++++++++++++-----------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/Documentation/git-interpret-trailers.adoc b/Documentation/git-interpret-trailers.adoc
index 616f479a367..a1adab20fef 100644
--- a/Documentation/git-interpret-trailers.adoc
+++ b/Documentation/git-interpret-trailers.adoc
@@ -74,19 +74,21 @@ key: value
This means that the trimmed _<key>_ and _<value>_ will be separated by
"`:`{nbsp}" (one colon followed by one space).
-By default the new trailer will appear at the end of all the existing
-trailers. If there is no existing trailer, the new trailer will appear
-at the end of the input. A blank line will be added before the new
-trailer if there isn't one already.
-
-Existing trailers are extracted from the input by looking for
-a group of one or more lines that (i) is all trailers, or (ii) contains at
-least one Git-generated or user-configured trailer and consists of at
+By default the new trailer will appear at the end of the trailer block.
+A trailer block will be created with only that trailer if a trailer
+block does not already exist. Recall that a trailer block needs to be
+preceded by a blank line, so a blank line will be inserted before the
+new trailer block in that case.
+
+Existing trailers are extracted from the input by looking for the
+trailer block. A trailer block is a group of one or more lines that (i)
+is all trailers, or (ii) contains at least one Git-generated or
+user-configured trailer and consists of at
least 25% trailers.
-The group must be preceded by one or more empty (or whitespace-only) lines.
-The group must either be at the end of the input or be the last
-non-whitespace lines before a line that starts with `---` (followed by a
-space or the end of the line).
+The trailer block is by definition at the end of the commit message.
+The message in turn is either (i) at the end of the input, or (ii) the
+last non-whitespace lines before a line that starts with `---` (followed
+by a space or the end of the line).
For convenience, a _<key-alias>_ can be configured to make using `--trailer`
shorter to type on the command line. This can be configured using the
--
2.54.0.22.g9e26862b904
next prev parent reply other threads:[~2026-07-30 9:21 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-01 13:27 git-interpret-trailers and period characters in the key Brendan Jackman
2025-04-03 11:07 ` Christian Couder
2025-04-07 20:37 ` Junio C Hamano
2026-03-30 21:11 ` [PATCH 0/2] doc: interpret-trailers: explain key format kristofferhaugsbakk
2026-03-30 21:11 ` [PATCH 1/2] doc: interpret-trailers: stop fixating on RFC 822 kristofferhaugsbakk
2026-03-30 22:27 ` Junio C Hamano
2026-03-30 22:56 ` Kristoffer Haugsbakk
2026-03-30 23:24 ` Junio C Hamano
2026-03-30 21:11 ` [PATCH 2/2] doc: interpret-trailers: explain key format kristofferhaugsbakk
2026-03-30 21:55 ` Junio C Hamano
2026-03-30 22:23 ` Kristoffer Haugsbakk
2026-03-31 12:35 ` Ben Knoble
2026-03-31 16:03 ` Kristoffer Haugsbakk
2026-04-13 10:20 ` [PATCH v2 0/9] " kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 1/9] doc: interpret-trailers: stop fixating on RFC 822 kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 2/9] doc: interpret-trailers: replace “lines” with “metadata” kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 3/9] doc: interpret-trailers: use “metadata” in Name as well kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 4/9] doc: interpret-trailers: not just for commit messages kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 5/9] doc: interpret-trailers: explain the format after the intro kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 6/9] doc: interpret-trailers: explain key format kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 7/9] doc: interpret-trailers: add key format example kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 8/9] doc: interpret-trailers: commit to “trailer block” term kristofferhaugsbakk
2026-04-13 10:21 ` [PATCH v2 9/9] doc: intepret-trailers: document comment line treatment kristofferhaugsbakk
2026-04-13 13:26 ` Kristoffer Haugsbakk
2026-04-13 15:48 ` Junio C Hamano
2026-05-08 15:03 ` Kristoffer Haugsbakk
2026-05-08 15:01 ` [PATCH v2 0/9] doc: interpret-trailers: explain key format Kristoffer Haugsbakk
2026-05-11 2:41 ` Junio C Hamano
2026-05-11 19:23 ` D. Ben Knoble
2026-05-24 12:41 ` Kristoffer Haugsbakk
2026-05-26 21:34 ` Ben Knoble
2026-05-26 21:42 ` Kristoffer Haugsbakk
2026-05-26 21:45 ` Kristoffer Haugsbakk
2026-06-10 21:21 ` [PATCH v3 00/11] " kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 01/11] doc: interpret-trailers: stop fixating on RFC 822 kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 02/11] doc: interpret-trailers: replace “lines” with “metadata” kristofferhaugsbakk
2026-06-11 3:10 ` Matt Hunter
2026-06-16 20:32 ` Kristoffer Haugsbakk
2026-06-16 21:39 ` Matt Hunter
2026-06-10 21:21 ` [PATCH v3 03/11] doc: interpret-trailers: use “metadata” in Name as well kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 04/11] doc: interpret-trailers: not just for commit messages kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 05/11] doc: interpret-trailers: explain the format after the intro kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 06/11] doc: interpret-trailers: explain key format kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 07/11] doc: interpret-trailers: add key format example kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 08/11] doc: interpret-trailers: join new-trailers again kristofferhaugsbakk
2026-06-10 22:00 ` D. Ben Knoble
2026-06-10 22:13 ` Kristoffer Haugsbakk
2026-06-10 21:21 ` [PATCH v3 09/11] doc: interpret-trailers: commit to “trailer block” term kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 10/11] doc: interpret-trailers: rewrite new-trailers paragraphs kristofferhaugsbakk
2026-06-10 21:21 ` [PATCH v3 11/11] doc: interpret-trailers: document comment line treatment kristofferhaugsbakk
2026-06-10 22:24 ` [PATCH v3 00/11] doc: interpret-trailers: explain key format Junio C Hamano
2026-06-11 11:57 ` Junio C Hamano
2026-06-11 12:05 ` Kristoffer Haugsbakk
2026-06-11 12:53 ` Kristoffer Haugsbakk
2026-06-17 19:45 ` Kristoffer Haugsbakk
2026-07-23 23:48 ` Junio C Hamano
2026-07-30 9:20 ` Kristoffer Haugsbakk
2026-07-30 9:18 ` [PATCH v4 " kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 01/11] doc: interpret-trailers: stop fixating on RFC 822 kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 02/11] doc: interpret-trailers: replace “lines” with “metadata” kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 03/11] doc: interpret-trailers: use “metadata” in Name as well kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 04/11] doc: interpret-trailers: not just for commit messages kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 05/11] doc: interpret-trailers: explain the format after the intro kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 06/11] doc: interpret-trailers: explain key format kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 07/11] doc: interpret-trailers: add key format example kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 08/11] doc: interpret-trailers: join new-trailers again kristofferhaugsbakk
2026-07-30 9:18 ` kristofferhaugsbakk [this message]
2026-07-30 9:18 ` [PATCH v4 10/11] doc: interpret-trailers: rewrite new-trailers paragraphs kristofferhaugsbakk
2026-07-30 9:18 ` [PATCH v4 11/11] doc: interpret-trailers: document comment line treatment kristofferhaugsbakk
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=V4_trailer_block_term.aeb@msgid.xyz \
--to=kristofferhaugsbakk@fastmail.com \
--cc=ben.knoble@gmail.com \
--cc=christian.couder@gmail.com \
--cc=code@khaugsbakk.name \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jackmanb@google.com \
--cc=linus@ucla.edu \
--cc=m@lfurio.us \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.