Re: kernel cherry UN-picking?
- From
Jan Harkes <jaharkes@cs.cmu.edu>
- Date
- May 12, 2007, 13:39 UTC
- Message-ID
- <20070512133951.GE12121@delft.aura.cs.cmu.edu>
- In-Reply-To
- <7vbqgr9fn9.fsf@assigned-by-dhcp.cox.net>
On Fri, May 11, 2007 at 03:09:14PM -0700, Junio C Hamano wrote:
Show 11 quoted lines
> Suppose you have something like this (you may have more than one > such merge but the principle is the same): > > U---o---o---o---M---x---o---o---o---T > / > Linville o---o > > Up to 'U' you have already sent upstream and no need for > resending. 'M' is merge with Linville tree. 'x' is the bad > one, and 'o' are good ones. 'T' is the tip of your net driver > branch.
There are even more ways to fix this up, they both start with identifying the commit 'y' that was committed after 'x',
git rebase --onto x^ y T
The other solution is to use .git/info/grafts,
Add a line with the sha1 of 'y' with the parents of 'x'. You can
visually inspect with gitk if it looks right and then use a script
that rewrites the history. Either cg-admin-rewrite or the one I
posted to the list a while ago.The history rewriting solution will work even if 'x' was introduced before the merge commit.
Jan