Re: git fast-export | git fast-import doesn't work
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:45:41
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