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

Re: Equivalent of "fixup" for git filter-branch

From
Andreas Schwab <schwab@linux-m68k.org>
Date
May 11, 2012, 12:51 UTC
Message-ID
<m2havmop75.fsf@igel.home>
In-Reply-To
<CAGK7Mr7qdTwfha8aUdXE4FeXjA0rW3JL0q=a9kHArirjv5bygg@mail.gmail.com>
Philippe Vaucher <philippe.vaucher@gmail.com> writes:
Show 13 quoted lines
>>
>> > I know there is `skip_commit` for git filter branch with
>> > --commit-filter which squash the current commit with the next one,
>> > however I have trouble finding a "fixup" equivalent that'd squash the
>> > commit with the previous one (just like git rebase -i allows).
>>
>> Probably doable with an index filter that updates the index for the
>> parent commit with the contents of the fixup commit and a commit filter
>> that skips the fixup commit.
>
>
> Hum, I'm unsure about how this would look... can I use "git commit --amend"
> inside a commit-filter?

I don't think that will work if the amended commit has more than one children, since the result won't be reflected in the map function.

> Also, how can I know in advance that the next commit will be a fixup commit?

In the index filter, when $GIT_COMMIT equals the parent of the fixup commit, update the index with git read-tree from the fixup commit.

Andreas.
-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Previous: Philippe VaucherNext: Philippe Vaucher
Message 4 of 7 in “Equivalent of "fixup" for git filter-branch”
  1. Philippe VaucherMay 10, 2012
  2. Andreas SchwabMay 10, 2012
  3. Philippe VaucherMay 11, 2012
  4. Andreas SchwabMay 11, 2012
  5. Philippe VaucherMay 11, 2012
  6. Andreas SchwabMay 11, 2012
  7. Philippe VaucherMay 12, 2012

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.