On May 28, 2011, at 8:55 AM, Ævar Arnfjörð Bjarmason wrote:
I wish that was practical for some projects.
It would be a huge improvement if git-svn could fully incorporate *all* of the metadata that it needs into native git objects (notes/tags/something). That way a git clone of a git-svn repository doesn't need to re-bootstrap anything. :-)
For example, a project that I follow has 26k branches (one per bug fix due to organizational workflow/policy). The project took five days to "git svn clone -s" and the re-bootstrap after blowing away the .git/svn directory is similarly painful. Why? Well, let's consider how much data must be rebuilt:
$ git svn gc
$ find */.git/svn -type f -name unhandled.log.gz -print0 | xargs -0 rm
$ du -sh .git/svn
445M .git/svn
$ find .git/svn | wc -l
52467
$
Crazy, huh?
davez
P.S. -- To the credit of git, the space savings are incredible for this project. The svn repository is 33.6 GiB vs 133.2 MiB for git (minus git-svn and git-reflog overhead). That's ~260x!