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

Re: git fast-export | git fast-import doesn't work

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 26, 2008, 17:08 UTC
Message-ID
<alpine.DEB.1.00.0811261804550.30769@pacific.mpi-cbg.de>
In-Reply-To
<492D7CF5.1020202@drmicha.warpmail.net>
Hi,
On Wed, 26 Nov 2008, Michael J Gruber wrote:
> Looking at the source I suspect that fast-export fails to denote 
> parenthood in the case of yet unmarked parents (last for-loop of 
> handle_commit() in builtin_fast_export.c). But I don't really know that 
> code at all.

I strongly doubt so. Noticed the use of has_unshown_parent(commit) in both cases before calling handle_commit()?

In any case, here is a script that I wrote _long_ time ago, to be able to reconstruct history from the output of "git rev-list --all --parents". Maybe this helps you in reconstructing something that is handled incorrectly by fast-export | fast-import, but is lighter than a full-blown repository.

-- snip -- #!/bin/sh

# Given the output of git-rev-list, this reconstructs the DAG of the history

i=0
tac | while read rev parents; do
        let i=$i+1
        echo $i > a1
        git add a1
        tree=$(git write-tree)
        parents="$(for parent in $parents
                do
                        echo -n "-p $(git rev-parse sp-$parent) "
                done)"
        commit=$(echo "$rev $i" | git commit-tree $tree $parents)
        git tag sp-$rev $commit
done
-- snap --

Ciao, Dscho

--
          |
Ceci n'est pas une pipe
Previous: Michael J GruberNext: Alexander Gavrilov
Message 18 of 25 in “git fast-export | git fast-import doesn't work”
  1. Ondrej CertikNov 25, 2008
  2. Michael J GruberNov 25, 2008
  3. Miklos VajnaNov 25, 2008
  4. Ondrej CertikNov 25, 2008
  5. david@lang.hmNov 25, 2008
  6. Ondrej CertikNov 25, 2008
  7. Peter BaumannNov 25, 2008
  8. Johannes SchindelinNov 26, 2008
  9. Ondrej CertikNov 26, 2008
  10. Ondrej CertikNov 26, 2008
  11. Michael J GruberNov 26, 2008
  12. Ondrej CertikNov 26, 2008
  13. Johannes SixtNov 26, 2008
  14. Ondrej CertikNov 27, 2008
  15. Ondrej CertikMay 3, 2009
  16. Johannes SchindelinNov 26, 2008
  17. Michael J GruberNov 26, 2008
  18. Johannes SchindelinNov 26, 2008
  19. Alexander GavrilovDec 7, 2008
  20. Johannes SchindelinDec 8, 2008
  21. Ondrej CertikNov 26, 2008
  22. Andreas EricssonNov 27, 2008
  23. Michael J GruberNov 26, 2008
  24. Johannes SchindelinNov 26, 2008
  25. Ondrej CertikNov 26, 2008

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.