During my mirror setup experiments, I ran out of memory or stopped an initial import several times.
Trouble is that this left incomplete pack files in the git folder that caused me to run out of disk space.
Could you add - or add an option for - git prune to the start of the “–recover” operation?
Repro:
- create svn repository with 5x 100MB each revised several times.
# Warning - svn server needs 8+gb of disk space
# Note - not tested, treat as pseudo bash script
files=$(echo file1.bin file2.bin file3.bin file4.bin file5.bin)
function generate() {
for file in $files; do head -c=100M /dev/random >$file; done
}
generate && svn add $files && svn commit -m "Commiting test files" $files
for rev in {1..9}; do
generate && svn commit -m "update $rev" $files
done
- create a 7.5GB partition for subgit’s git repository, ideally a slow filesystem,
- subgit configure
- run
subgit install
and interrupt while it is translating, - run
subgit install --recover
and interrupt again, - repeat several times
→ run out of disk space - ls
objects
and find lots of temp files git prune
- run
subgit install --recover
→ completes