git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Should commit-msg hook receive the washed message?

From
Jeff King <peff@peff.net>
Date
Jul 6, 2024, 06:37 UTC
Message-ID
<20240706063737.GF700645@coredump.intra.peff.net>
In-Reply-To
<CAPig+cTpxXNwy8MYWjcDTa5QPoq5Mod3_LZ=+F16-gF5QVbrkg@mail.gmail.com>
On Fri, Jul 05, 2024 at 05:35:25PM -0400, Eric Sunshine wrote:
Show 12 quoted lines
> > This seems like a bug to me; is there something I'm missing? I would
> > propose adding a call to `cleanup_message` (with the appropriate
> > arguments) inside `prepare_to_commit` right before `commit-msg` is
> > invoked.
> 
> The idea of calling cleanup_message() has been discussed before[1]. My
> takeaway from reading that message is that calling cleanup_message()
> unconditionally before invoking the hook could potentially throw away
> information that the hook might want to consult. It's possible to
> imagine a workflow in which a specialized comment is inserted in a
> commit message to control/augment behavior of the hook in some
> fashion.

Yeah, looking over that earlier discussion, I think the main takeaway is that the unsanitized version might have useful information for the hook. I don't know of any real workflow that relies on that, but it does seem possible that somebody has one.

> The idea you proposed in a different thread[2] of exposing
> cleanup_message() functionality as a user-facing utility which a hook
> can call on an as-needed basis may make more sense(?).

So yes, I like that approach much better. But as noted elsewhere, the hook has to understand which cleanup mechanism is going to be used. Which could get complicated.

It would be nice if we could just provide _both_ forms to the hook. It looks like commit-msg just takes the filename as the first parameter. Perhaps we could extend it by passing a second one? It does mean sanitizing and writing out the message twice, even if the hook might not look at it, but I doubt the overhead is all that high.

-Peff
Previous: Eric Sunshine
Message 3 of 3 in “Should commit-msg hook receive the washed message?”
  1. Sean AllredJul 5, 2024
  2. Eric SunshineJul 5, 2024
  3. Jeff KingJul 6, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.