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

From: Andreas Schwab <[email-masked]>
Date: Fri, 11 May 2012 14:51:58 +0200

Philippe Vaucher <[email-masked]> writes:

>>
>> > 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, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."