From: Phillip Wood Date: Mon, 09 Feb 2026 10:43:23 GMT Subject: Re: [PATCH 0/3] commit-msg.sample: reject messages that would confuse "git am" Message-ID: In-Reply-To: <20260209065703.GA585828@coredump.intra.peff.net> On 09/02/2026 06:57, Jeff King wrote: > On Sat, Feb 07, 2026 at 02:57:59PM +0000, Phillip Wood wrote: > >> From: Phillip Wood >> >> On 06/02/2026 09:03, Jeff King wrote: >>> 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. > > I'm not entirely opposed to it, but my initial reaction was two bits of > skepticism: > > 1. I imagine that hardly anybody runs commit-msg hooks in the first > place, let alone our sample hook. So I doubt this will get the > attention of many people. I think that's fair, but having it in the sample hook doesn't do any harm. > 2. I'd guess that these days only a small minority of people care > about sending patches by email. So for most people, a warning about > their commit message containing a diff or "---" will be mostly > useless, if not outright confusing. People do download patches from github and apply them even if they're not using a email based workflow. I'm not entirely clear but I think that's what happened in the post Matthias linked to. Though if they're using "patch" rather than "git am" to apply them indenting the diff wont help. > I'd imagine that documentation updates would be more likely to get read > by users than the sample hook. And a warning in git-commit itself would > be even more obvious (but fall even more afoul of (2) above). Adding a > warning to format-patch would help with (2), but at that point it may be > too late to change the commit message. Kristoffer has kindly updated the documentation. I'm wary of adding a warning to "git commit" for the reason you gave above. We could make it opt-in but then hardly anyone would probably set that config option. Thanks Phillip >> 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. > > I think the patch from Matheus linked above added that format-patch > check. > > -Peff >