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

Re: Non-interactively rewording commit messages

From
Elijah Newren <newren@gmail.com>
Date
Jul 1, 2022, 04:01 UTC
Message-ID
<CABPp-BHX5H1co+cMS2LEt=NYB5==5e4YK_sK=h_O1-zxaNocAA@mail.gmail.com>
In-Reply-To
<20220630152757.yxwhijvj5xoosrws@meerkat.local>

On Thu, Jun 30, 2022 at 8:35 AM Konstantin Ryabitsev <konstantin@linuxfoundation.org> wrote:

Show 27 quoted lines
>
> 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?

One possibility would be to tweak https://github.com/newren/git-filter-repo/blob/main/contrib/filter-repo-demos/signed-off-by, modifying the line setting the 'trailer' variable to make it be a Reviewed-by rather than a Signed-off-by. You could tweak the script to also make other automated commit message changes unrelated to any trailers, if you wanted.

(There's also the slightly less careful way of adding trailers shown over at https://github.com/newren/git-filter-repo/blob/main/Documentation/converting-from-filter-branch.md#rewriting-commit-messages----adding-text, but the literal appending instead of determining whether to also first add one or more newlines before the trailer might not be exactly what you want.)

Previous: brian m. carlsonNext: Konstantin Ryabitsev
Message 9 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.