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

Re: [PATCH] rebase -i: use same commit's message and date with f -C

From
Johannes Sixt <j6t@kdbg.org>
Date
Sep 24, 2025, 08:47 UTC
Message-ID
<0a14a93e-7da2-43e1-9d71-c58a69c7a4af@kdbg.org>
In-Reply-To
<xmqqldm4onma.fsf@gitster.g>
Am 23.09.25 um 23:38 schrieb Junio C Hamano:
Show 29 quoted lines
> "Mathias Rav" <m@git.strova.dk> writes:
> 
>> In `git rebase -i` with the fixup command, the -C flag controls whether
>> the commit message is taken from the previous or current commit,
>> but currently the author name, email and date are always taken from the
>> previous commit.
> 
> As the name of the command says, you are fixing up the previous one,
> so I do not find it a problem if the credit for writing the
> resulting combined commit stays with the author of the previous one.
> The authorship information both covers the contents recorded in the
> commit's tree, as well as the commit message.
> 
> Granted, many commits of this project that is a one-liner change
> often have 50 lines of explanation in the commit log message, but
> still I think it is sensible to give more authorship credit to the
> author of the contents the tree of the final commit than to the
> author of the log message of the final commit.
> 
>> Change the behavior so that fixup with -C takes both message and author
>> from the current commit, instead of taking the author from the previous.
> 
> I am somewhat negative to this change.  I am perfectly fine to have
> a separate "I may have started from that previous one, but that was
> so broken that I essentially dismantled the original and replaced
> with the new one.  It is better to attribute the credit to whoever
> did this last one that is replacing" command.  But the "fixup"
> command people have been familiar with would be different, I would
> think.

The common situation where the proposed change is handy isn't where a previous commit is fixed up.

Sometimes, a previous commit is a fixup for a later one, for example, a change slipped into in earlier commit that should go into a later commit and has been split off into its own commit. Many times it would be sufficient to reorder the commits and be done. However, sometimes (and not even infrequently), reordering the commits introduces conflicts that do not happen if the order remains. Here, we want the proposed feature.

Since your argument hinges on the word and meaning of "fixup" (which I can buy somewhat), we could extend "squash" with an option that specifies which commit supplies the date and authorship metadata.

-- Hannes
Previous: Junio C HamanoNext: Phillip Wood
Message 7 of 14 in “rebase -i: use same commit's message and date with f -C”
  1. rebase -i: use same commit's message and date with f -CMathias Rav, Sep 23, 2025
  2. Karthik NayakSep 23, 2025
  3. Phillip WoodSep 23, 2025
  4. Ben KnobleSep 23, 2025
  5. Kristoffer HaugsbakkSep 23, 2025
  6. Junio C HamanoSep 23, 2025
  7. Johannes SixtSep 24, 2025
  8. Phillip WoodSep 24, 2025
  9. Mathias RavSep 24, 2025
  10. Phillip WoodSep 25, 2025
  11. Junio C HamanoSep 25, 2025
  12. Oswald BuddenhagenSep 24, 2025
  13. Junio C HamanoSep 24, 2025
  14. Phillip WoodSep 25, 2025

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.