Re: [PATCH] git-commit --amend: respect grafted parents.
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Sep 26, 2007, 12:52 UTC
- Message-ID
- <46FA5604.101@viscovery.net>
- In-Reply-To
- <Pine.LNX.4.64.0709261322150.28395@racer.site>
Johannes Schindelin schrieb:
Show 28 quoted lines
> Hi, > > On Wed, 26 Sep 2007, Johannes Sixt wrote: > >> This allows a poor-mans-filter-branch of the top-most commit. >> >> Specifically, I had this history: >> >> --o--o--A' <-- amended version of A >> \ >> A >> \ >> --o--B--M >> >> I now wanted to "amend" M to pull in A' instead of A as its second >> parent. For various reasons I didn't want to redo the merge M again, in >> particular, it already contained the changes that were amended into A'. >> So I figured I would just install a graft that lists B and A' as parents >> of M and then do a simple git commit --amend. Alas, git commit looks at >> the real parents instead of the grafted ones, so the amended M' would >> still have A as its second parent. Here is the fix that picks the >> grafted parents instead. > > I do not think that this is a "fix". > > I'd really suggest that you fix it up (before the amend!) by installing > the graft, and running git-filter-branch -1 <branch>. (Note: I did not > test this, but it _should_ work. If it does not, please let me know.)
The problem with filter-branch is that it leaves a committer date in M that is before A', and for this reason is not the right tool for this task. So I do think that this fix is necessary.
-- Hannes