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

Re: Non-interactively rewording commit messages

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Jun 30, 2022, 18:10 UTC
Message-ID
<220630.86iloic97u.gmgdl@evledraar.gmail.com>
In-Reply-To
<20220630175421.wbgqnmym7ioazdzo@meerkat.local>
On Thu, Jun 30 2022, Konstantin Ryabitsev wrote:
Show 34 quoted lines
> On Thu, Jun 30, 2022 at 07:34:54PM +0200, Christian Couder wrote:
>> > Hello, all:
>> >
>> > What's the best approach to non-interactively rewrite specific commit
>> > messages? In this particular case, I am trying to automatically retrieve code
>> > review trailers sent to the mailing list and put them into corresponding
>> > commits.
>> >
>> > For example, I have a set of commits:
>> >
>> > abcabc: This commit does foo
>> > bcdbcd: This commit does bar
>> > cdecde: This commit does baz
>> >
>> > They were all sent to the mailing list and a maintainer sent a "Reviewed-by"
>> > to the second commit. In a usual interactive rebase session this would be:
>> >
>> > pick abcabc
>> > reword bcdbcd
>> > pick cdecde
>> >
>> > When the edit screen comes up for the bcdbcd commit, the author would manually
>> > stick the new trailer into the commit message. However, I can automate all
>> > that away with b4 -- just need a sane strategy for non-interactively rewriting
>> > entire commit messages at arbitrary points in the recent history.
>> >
>> > Any pointers?
>> 
>> Have you tried `git interpret-trailers`?
>
> I'm aware of interpret-trailers, but unless I'm missing something large, it's
> just a way of analyzing standalone text files to retrieve or insert trailers.
> What I'm looking for is a way to amend arbitrary commit messages within recent
> git history.

I think what's being suggested is that once you have a program that can munge a commit message on stdin, you can combine it with rebase, git commit --amend etc. to change existing commits.q

The t/t7513-interpret-trailers.sh test has some examples of munging existing content.

Previous: Konstantin RyabitsevNext: Junio C Hamano
Message 5 of 11 in “Non-interactively rewording commit messages”
  1. Konstantin RyabitsevJun 30, 2022
  2. Carlo Marcelo Arenas BelónJun 30, 2022
  3. Christian CouderJun 30, 2022
  4. Konstantin RyabitsevJun 30, 2022
  5. Ævar Arnfjörð BjarmasonJun 30, 2022
  6. Junio C HamanoJun 30, 2022
  7. Christian CouderJul 1, 2022
  8. brian m. carlsonJun 30, 2022
  9. Elijah NewrenJul 1, 2022
  10. Konstantin RyabitsevJul 1, 2022
  11. Johannes SchindelinJul 1, 2022

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.