[PATCH 0/3] commit-msg.sample: reject messages that would confuse "git am"
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Feb 7, 2026, 14:57 UTC
- Message-ID
- <cover.1770476279.git.phillip.wood@dunelm.org.uk>
- In-Reply-To
- <20260206090358.GA2761602@coredump.intra.peff.net>
From: Phillip Wood <phillip.wood@dunelm.org.uk>
On 06/02/2026 09:03, Jeff King wrote:
Show 7 quoted lines
> I don't think there is a way to unambiguously parse the single-stream > output that format-patch produces. This is a reasonably well-known > gotcha (at least around here). E.g., some earlier discussions: > > 2024:https://lore.kernel.org/git/ca13705ae4817ffba16f97530637411b59c9eb19.camel@scientia.org/ > 2022:https://lore.kernel.org/git/d0b577825124ac684ab304d3a1395f3d2d0708e8.1662333027.git.matheus.bernardino@usp.br/ > 2015:https://lore.kernel.org/git/CAFOYHZC6Qd9wkoWPcTJDxAs9u=FGpHQTkjE-guhwkya0DRVA6g@mail.gmail.com/
If we cannot improve "git am" perhaps we should update our sample "commit-msg" hook to reject messages that will cause problems. Here are some patches to do that.
We could perhaps think about adding a more prominent warning to the "git am" and "git format-patch" documentation. The docs for "git am" mention that it splits the message on a line starting with "diff -" but maybe we should spell out what that means for commit messages that include a diff. In principle "git format-patch" could also warn or error out if it creates a mail that "git am" cannot import verbatim, I don't know how hard that would be in implement.
Base-Commit: b2826b52eb7caff9f4ed6e85ec45e338bf02ad09 Published-As: https://github.com/phillipwood/git/releases/tag/pw%2Fsample-commit-msg-reject-diff%2Fv1 View-Changes-At: https://github.com/phillipwood/git/compare/b2826b52e...83c100a73 Fetch-It-Via: git fetch https://github.com/phillipwood/git pw/sample-commit-msg-reject-diff/v1
Phillip Wood (3): templates: add .gitattributes entry for sample hooks templates: detect commit messages containing diffs templates: detect messages that contain a separator line
.editorconfig | 2 +- .gitattributes | 1 + templates/hooks/commit-msg.sample | 38 +++++++++++++++++++++++++++++-- 3 files changed, 38 insertions(+), 3 deletions(-)
-- 2.52.0.362.g884e03848a9