* 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
[parent not found: <CAGK7Mr7qdTwfha8aUdXE4FeXjA0rW3JL0q=a9kHArirjv5bygg@mail.gmail.com>]
* 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).