public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: Phillip Wood <phillip.wood123@gmail.com>
To: Jeff King <peff@peff.net>, Phillip Wood <phillip.wood@dunelm.org.uk>
Cc: git@vger.kernel.org, Matthias Beyer <mail@beyermatthias.de>,
	Jacob Keller <jacob.keller@gmail.com>,
	pyokagan@gmail.com
Subject: Re: [PATCH 0/3] commit-msg.sample: reject messages that would confuse "git am"
Date: Mon, 9 Feb 2026 10:43:23 +0000	[thread overview]
Message-ID: <f5f100de-815e-4bf3-832f-3d473413c635@gmail.com> (raw)
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 <phillip.wood@dunelm.org.uk>
>>
>> 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
> 


  reply	other threads:[~2026-02-09 10:43 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06  7:43 git-am applies commit message diffs Matthias Beyer
2026-02-06  8:04 ` Jacob Keller
2026-02-06  8:18   ` Matthias Beyer
2026-02-06  9:03     ` Jeff King
2026-02-07 14:57       ` [PATCH 0/3] commit-msg.sample: reject messages that would confuse "git am" Phillip Wood
2026-02-07 14:58         ` [PATCH 1/3] templates: add .gitattributes entry for sample hooks Phillip Wood
2026-02-07 14:58         ` [PATCH 2/3] templates: detect commit messages containing diffs Phillip Wood
2026-02-07 14:58         ` [PATCH 3/3] templates: detect messages that contain a separator line Phillip Wood
2026-02-07 21:27           ` Junio C Hamano
2026-02-07 21:38             ` Kristoffer Haugsbakk
2026-02-09  0:17               ` Junio C Hamano
2026-02-09  7:00             ` Jeff King
2026-02-09 10:42               ` Phillip Wood
2026-02-10  6:44                 ` Jeff King
2026-02-09  6:57         ` [PATCH 0/3] commit-msg.sample: reject messages that would confuse "git am" Jeff King
2026-02-09 10:43           ` Phillip Wood [this message]
2026-02-09 11:07             ` Matthias Beyer
2026-02-10  6:46             ` Jeff King
2026-02-09 15:58       ` git-am applies commit message diffs Patrick Steinhardt
2026-02-10  2:16         ` Jacob Keller
2026-02-10 14:22           ` Patrick Steinhardt
2026-02-10 15:47             ` Junio C Hamano
2026-02-11  2:31               ` Jacob Keller
2026-02-11  2:34                 ` Jacob Keller
2026-02-11  7:47                   ` Jeff King
2026-02-11 15:23                     ` Kristoffer Haugsbakk
2026-02-11 15:47                     ` Junio C Hamano
2026-02-10  6:56         ` Jeff King
2026-02-13 14:34       ` [PATCH v2 0/2] commit-msg.sample: reject messages that would confuse "git am" Phillip Wood
2026-02-13 14:34         ` [PATCH v2 1/2] templates: add .gitattributes entry for sample hooks Phillip Wood
2026-02-13 14:34         ` [PATCH v2 2/2] templates: detect commit messages containing diffs Phillip Wood
2026-02-13 16:42           ` Kristoffer Haugsbakk
2026-02-13 18:08             ` Junio C Hamano
2026-02-14 14:46             ` Phillip Wood
2026-02-13 17:59           ` Junio C Hamano
2026-02-14 14:36             ` Phillip Wood
2026-02-14 15:42               ` Junio C Hamano
2026-02-13 17:41         ` [PATCH v2 0/2] commit-msg.sample: reject messages that would confuse "git am" Junio C Hamano
2026-02-06  8:59   ` git-am applies commit message diffs Florian Weimer
2026-02-06  9:24     ` Jeff King
2026-02-06  9:48       ` Florian Weimer
2026-02-06 10:08         ` Jeff King
2026-02-06  8:43 ` Kristoffer Haugsbakk
2026-02-06 17:45   ` Jakob Haufe
2026-02-07 10:08     ` Kristoffer Haugsbakk
2026-02-07 21:44 ` Kristoffer Haugsbakk
2026-02-08  0:11 ` [PATCH] doc: add caveat about roundtripping format-patch kristofferhaugsbakk
2026-02-08  1:39   ` Junio C Hamano
2026-02-08 17:18     ` Kristoffer Haugsbakk
2026-02-09 16:42   ` Phillip Wood
2026-02-09 17:59     ` Kristoffer Haugsbakk
2026-02-10 10:57       ` Phillip Wood
2026-02-10 16:00         ` Kristoffer Haugsbakk
2026-02-09 22:37   ` [PATCH v2] " kristofferhaugsbakk
2026-02-09 22:59     ` Junio C Hamano
2026-02-09 23:11       ` Kristoffer Haugsbakk
2026-02-10 11:02     ` Phillip Wood
2026-02-10 18:20     ` Kristoffer Haugsbakk
2026-02-12 22:28     ` [PATCH v3] doc: add caveat about round-tripping format-patch kristofferhaugsbakk
2026-02-12 23:19       ` Junio C Hamano
2026-02-13 14:41         ` Phillip Wood
2026-02-13 14:43           ` Kristoffer Haugsbakk
2026-02-13 18:02           ` Junio C Hamano
2026-02-10  0:53   ` [PATCH] doc: add caveat about roundtripping format-patch Christoph Anton Mitterer
2026-02-10 16:00     ` Kristoffer Haugsbakk

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=f5f100de-815e-4bf3-832f-3d473413c635@gmail.com \
    --to=phillip.wood123@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jacob.keller@gmail.com \
    --cc=mail@beyermatthias.de \
    --cc=peff@peff.net \
    --cc=phillip.wood@dunelm.org.uk \
    --cc=pyokagan@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox