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

Re: using oldest date when squashing commits

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Oct 24, 2023, 14:00 UTC
Message-ID
<138631cd-ead3-4f22-95ce-61afccfa409f@gmail.com>
In-Reply-To
<ZTeZ3KEQLIVU/sq2@ugly>
On 24/10/2023 11:18, Oswald Buddenhagen wrote:
Show 21 quoted lines
> On Tue, Oct 24, 2023 at 10:26:29AM +0100, Phillip Wood wrote:
>> On 20/03/2022 08:05, Johannes Sixt wrote:
>>> Am 19.03.22 um 13:48 schrieb Oswald Buddenhagen:
>>>> during interactive rebasing, i sometimes find it necessary to move a
>>>> hunk from one commit to a later one in the branch. now, if that hunk
>>>> cannot be re-ordered with the later commit due to conflicting with it,
>>>> it becomes necessary to squash the later commit onto a temporary commit
>>>> created from the extracted hunk, not the other way around (or using a
>>>> stash). unfortunately, this causes the author date of the later commit
>>>> to be reset, which can rather seriously falsify the date if the branch
>>>> is long-lived.
>>>
>>> You want `fixup -C` in the todo-list. See the hints near the end of the
>>> todo-list.
>>
>> Unfortunately "fixup -C" only copies the commit message not the 
>> authorship
> 
>> (that's usually a good thing
>>
> why? what would that be useful for?
 > it seems rather counter-intuitive.

In the same way that you do not want to change the author date when using a fixup to move a small hunk from one commit to another most users do not want to update the author information when they make a small change to a commit message using "fixup -C"

> it's also inconsistent with commit -c/-C's behavior, which seems like a 
> red flag to me.

That could mean the option is mis-named instead rather than the behavior being wrong.

Show 8 quoted lines
>> but not it means it wont work for what Oswald wants to do).
> 
>> Maybe we should add another flag for fixup/squash commands to take the 
>> authorship from that commit.
>>
> that's a possibility. but given the above, it might be better to simply 
> change the behavior of -c/-C to keep the UI lean and consistent with 
> commit's behavior.

"fixup -c/-C" were conceived as a way to reword a commit message at the same time as optionally fixing up the commit's content. I think changing the behavior to automatically update the authorship would surprise people and as I said above most of the time one does not want that behavior.

Best Wishes
Phillip
Previous: Oswald BuddenhagenNext: Junio C Hamano
Message 6 of 15 in “using oldest date when squashing commits”
  1. Oswald BuddenhagenMar 19, 2022
  2. Johannes SixtMar 20, 2022
  3. Oswald BuddenhagenMar 20, 2022
  4. Phillip WoodOct 24, 2023
  5. Oswald BuddenhagenOct 24, 2023
  6. Phillip WoodOct 24, 2023
  7. Junio C HamanoOct 24, 2023
  8. Oswald BuddenhagenOct 24, 2023
  9. Johannes SixtOct 24, 2023
  10. Marc BranchaudOct 27, 2023
  11. Oswald BuddenhagenOct 27, 2023
  12. Marc BranchaudOct 27, 2023
  13. Oswald BuddenhagenOct 27, 2023
  14. Marc BranchaudOct 27, 2023
  15. Junio C HamanoOct 27, 2023

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.