git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Junio C HamanoNext: Jan Harkes
Message 8 of 9 in “kernel cherry UN-picking?”
  1. Jeff GarzikMay 11, 2007
  2. Andrew MortonMay 11, 2007
  3. Jeff GarzikMay 11, 2007
  4. Josef SipekMay 15, 2007
  5. Junio C HamanoMay 11, 2007
  6. Junio C HamanoMay 11, 2007
  7. Junio C HamanoMay 11, 2007
  8. Jan HarkesMay 12, 2007
  9. Jan HarkesMay 12, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.