* Equivalent of "fixup" for git filter-branch
@ 2012-05-10 16:30 Philippe Vaucher
2012-05-10 17:39 ` Andreas Schwab
0 siblings, 1 reply; 7+ messages in thread
From: Philippe Vaucher @ 2012-05-10 16:30 UTC (permalink / raw)
To: git
Hello,
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).
Yes, I know I could probably use git rebase instead but rebase doesn't
keep the existing commiter date like git filter-branch does.
Philippe
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Equivalent of "fixup" for git filter-branch
2012-05-10 16:30 Equivalent of "fixup" for git filter-branch Philippe Vaucher
@ 2012-05-10 17:39 ` Andreas Schwab
[not found] ` <CAGK7Mr7qdTwfha8aUdXE4FeXjA0rW3JL0q=a9kHArirjv5bygg@mail.gmail.com>
0 siblings, 1 reply; 7+ messages in thread
From: Andreas Schwab @ 2012-05-10 17:39 UTC (permalink / raw)
To: Philippe Vaucher; +Cc: git
Philippe Vaucher <philippe.vaucher@gmail.com> 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.
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."
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Equivalent of "fixup" for git filter-branch
[not found] ` <CAGK7Mr7qdTwfha8aUdXE4FeXjA0rW3JL0q=a9kHArirjv5bygg@mail.gmail.com>
@ 2012-05-11 12:51 ` Philippe Vaucher
2012-05-11 12:51 ` Andreas Schwab
1 sibling, 0 replies; 7+ messages in thread
From: Philippe Vaucher @ 2012-05-11 12:51 UTC (permalink / raw)
To: Andreas Schwab; +Cc: git
> > 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?
Also, how can I know in advance that the next commit will be a fixup commit?
Thanks,
Philippe
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Equivalent of "fixup" for git filter-branch
[not found] ` <CAGK7Mr7qdTwfha8aUdXE4FeXjA0rW3JL0q=a9kHArirjv5bygg@mail.gmail.com>
2012-05-11 12:51 ` Philippe Vaucher
@ 2012-05-11 12:51 ` Andreas Schwab
2012-05-11 13:04 ` Philippe Vaucher
1 sibling, 1 reply; 7+ messages in thread
From: Andreas Schwab @ 2012-05-11 12:51 UTC (permalink / raw)
To: Philippe Vaucher; +Cc: git
Philippe Vaucher <philippe.vaucher@gmail.com> 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, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Equivalent of "fixup" for git filter-branch
2012-05-11 12:51 ` Andreas Schwab
@ 2012-05-11 13:04 ` Philippe Vaucher
2012-05-11 13:45 ` Andreas Schwab
0 siblings, 1 reply; 7+ messages in thread
From: Philippe Vaucher @ 2012-05-11 13:04 UTC (permalink / raw)
To: Andreas Schwab; +Cc: git
>> 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.
Right, good idea.
I was also thinking maybe I could use --parent-filter: when I find a
fixup commit, I set its parent to its parent's parent?
Philippe
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Equivalent of "fixup" for git filter-branch
2012-05-11 13:04 ` Philippe Vaucher
@ 2012-05-11 13:45 ` Andreas Schwab
2012-05-12 12:12 ` Philippe Vaucher
0 siblings, 1 reply; 7+ messages in thread
From: Andreas Schwab @ 2012-05-11 13:45 UTC (permalink / raw)
To: Philippe Vaucher; +Cc: git
Philippe Vaucher <philippe.vaucher@gmail.com> writes:
> I was also thinking maybe I could use --parent-filter: when I find a
> fixup commit, I set its parent to its parent's parent?
This will keep the attributes of the fixup commit, discarding the
parent's ones. In git rebase, a fixup keeps the attributes of the
parent, discarding the ones of the fixup.
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."
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Equivalent of "fixup" for git filter-branch
2012-05-11 13:45 ` Andreas Schwab
@ 2012-05-12 12:12 ` Philippe Vaucher
0 siblings, 0 replies; 7+ messages in thread
From: Philippe Vaucher @ 2012-05-12 12:12 UTC (permalink / raw)
To: Andreas Schwab; +Cc: git
> > I was also thinking maybe I could use --parent-filter: when I find a
> > fixup commit, I set its parent to its parent's parent?
>
> This will keep the attributes of the fixup commit, discarding the
> parent's ones. In git rebase, a fixup keeps the attributes of the
> parent, discarding the ones of the fixup.
Ah right. Thanks for your suggestions, I'll try to get it going. Maybe
the result could be material for more examples in the man page.
Philippe
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-05-12 12:13 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-10 16:30 Equivalent of "fixup" for git filter-branch Philippe Vaucher
2012-05-10 17:39 ` Andreas Schwab
[not found] ` <CAGK7Mr7qdTwfha8aUdXE4FeXjA0rW3JL0q=a9kHArirjv5bygg@mail.gmail.com>
2012-05-11 12:51 ` Philippe Vaucher
2012-05-11 12:51 ` Andreas Schwab
2012-05-11 13:04 ` Philippe Vaucher
2012-05-11 13:45 ` Andreas Schwab
2012-05-12 12:12 ` Philippe Vaucher
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).