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

Re: [PATCH] Teach parse_commit_buffer about grafting.

From
WDWolfgang Denk <wd@denx.de>
Date
Aug 18, 2005, 00:30 UTC
Message-ID
<20050818003036.C53FD353BF9@atlas.denx.de>
In-Reply-To
<7vslxw4tb1.fsf_-_@assigned-by-dhcp.cox.net>
In message <7vslxw4tb1.fsf_-_@assigned-by-dhcp.cox.net> you wrote:
Show 8 quoted lines
> Introduce a new file $GIT_DIR/info/grafts (or $GIT_GRAFT_FILE)
> which is a list of "fake commit parent records".  Each line of
> this file is a commit ID, followed by parent commit IDs, all
> 40-byte hex SHA1 separated by a single SP in between.  The
> records override the parent information we would normally read
> from the commit objects, allowing both adding "fake" parents
> (i.e. grafting), and pretending as if a commit is not a child of
> some of its real parents (i.e. cauterizing).
How exactly is this used?

I gave up trying to have CVS merges autimatically recognized upon import, and tried to follow Matthias Urlichs' advice to fake it using the grafts file.

I have this situation:
Branch point (actually this is the inital import into CVS):
Commit:	0b666f81da14bf46cada222856762f7fd6641c26
Child:  9956b03b956994bb4e2cee4161f3626bcfd71924 (Das U-Boot: Universal Boot Loader)
Child:  7309612797ed5e6b3b20027e28bca970b4f6b8fd (Initial revision)
End of branch to merge (in CVS 1.1.1.1):
Commit:	d9af3c87df93e1a8126b1a52adf8db978e9a0d40
Parent: 0bb9c6d97b195bd0efcdda02f109e6d1519074a9 (Das U-Boot: Universal Boot Loader)
<no child>

This is the commit where I would like to show the branch merged in (before; this is the first real commit in CVS):

Commit:	24ee89b97a49826ea800b4a6c0d5c0769328e317
Parent: de180e6daa529dc78668c99bdf17a9cdd440782d (Initial revision)
Child:  699b13a6064e642280caffaa83c10b359a6c1114 (* Fix mdelay() on TRAB - this was still the debugging version with)
I tried with a grafts file like this:
24ee89b97a49826ea800b4a6c0d5c0769328e317 de180e6daa529dc78668c99bdf17a9cdd440782d d9af3c87df93e1a8126b1a52adf8db978e9a0d40

The display in gitk --all gets changed a bit (before the branch was the leftmost line, now it's the rightmost one), but it's still a dangling head, and the selected "merge point" (commit 24ee89) is still displayed with just one parent (de180e) - I would expect to also see d9af3c listed as parent, and the branch merging in here?

Am I missing something?
Best regards,
Wolfgang Denk
-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Programmer's Lament: (Shakespeare, Macbeth, Act I, Scene vii)
        "That we but teach bloody instructions,
        which, being taught, return to plague the inventor..."
Previous: Johannes SchindelinNext: Junio C Hamano
Message 11 of 17 in “Linux BKCVS kernel history git import..”
  1. Linus TorvaldsJul 26, 2005
  2. Diego CallejaJul 26, 2005
  3. A Large Angry SCMJul 26, 2005
  4. David WoodhouseJul 27, 2005
  5. Linus TorvaldsJul 27, 2005
  6. David WoodhouseJul 27, 2005
  7. Linus TorvaldsJul 27, 2005
  8. Teach parse_commit_buffer about grafting.Junio C Hamano, Jul 30, 2005
  9. Matthias UrlichsJul 30, 2005
  10. Johannes SchindelinJul 30, 2005
  11. Wolfgang DenkAug 18, 2005
  12. Junio C HamanoAug 18, 2005
  13. Paul MackerrasAug 18, 2005
  14. Linus TorvaldsAug 18, 2005
  15. Paul MackerrasAug 19, 2005
  16. Johannes SchindelinAug 19, 2005
  17. Linus TorvaldsAug 19, 2005

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.