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

git fast-import : How to change parent during import?

From
Vitor Antunes <vitor.hda@gmail.com>
Date
Mar 8, 2011, 01:21 UTC
Message-ID
<AANLkTikiEfUSdNqqTjuYy_JLJnEyCizmusSucYsEHC2r@mail.gmail.com>
Hi everyone,

Is it possible to change the parent of a commit during fast import? I've tried using "reset" command and making a new commit pointing to a new parent, but in both cases I get a "new tip ... does not contain ..." error message.

Providing a bit of context. I'm trying to improve git-p4 to detect the parent commit of a new branch. Unfortunately, in Perforce a branch is nothing more than a copy of a bunch of files into a new location. Because the origin of the copy can be any past commit and there is no information about which commit was used it is very difficult to identify a parent of a new branch. But if we assume that in this copy process no file is modified then it should be possible to identify the parent commit simply by comparing their SHA-1. To achieve this I used the checkpoint command to flush the list of imported commits to disk and then used standard rev-list and diff-tree commands to make find the parent commit. I am now at a point where I am able to correctly identify the parent commit, but when trying to update the from information I get the above message.

Thanks in advance for your help,
-- 
Vitor Antunes
Next: Jonathan Nieder
Message 1 of 9 in “git fast-import : How to change parent during import?”
  1. Vitor AntunesMar 8, 2011
  2. Jonathan NiederMar 8, 2011
  3. Vitor AntunesMar 8, 2011
  4. Jonathan NiederMar 8, 2011
  5. Vitor AntunesMar 9, 2011
  6. Vitor AntunesMar 30, 2011
  7. Vitor AntunesAug 28, 2011
  8. Jonathan NiederAug 28, 2011
  9. Sverre RabbelierAug 29, 2011

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.