I should have done this about 6 months ago... but, nonetheless, I've improved the RubyForge documentation for converting a project from Subversion to Git. The docs now show how to use git svn clone followed by git gc and then the initial push to get the Git repository rolling. Suggestions/corrections/comments are welcome, of course.
Note that I do the git svn clone using the http:// Subversion URL rather than svn:// or svn+ssh://. Using svn:// will fail for a repository with more than a couple of commits since xinetd is set up to block IPs that hammer in a lot of requests, and using svn+ssh:// just seems wasteful - no need to encrypt all that data.
Doing git gc --aggressive certainly made a difference for the project I just converted; the disk space dropped from 8.1 MB to 760 KB.
I was also happy to see that although I'm running Git 1.6.3 on my laptop and 1.5 on the server it made no difference. I should upgrade RubyForge's Git installation... anyone know if there's anything particularly hairy involved in upgrading Git from 1.5 to 1.6? Googling around suggests it's no problem, but if anyone knows something different, please let me know, thanks!
Very help full, thanks!
Posted by: jpablobr | May 29, 2009 at 11:49 PM
Using --aggressive is actually discouraged (by Linus himself), and a git repack is suggested instead. (Info: http://metalinguist.wordpress.com/2007/12/06/the-woes-of-git-gc-aggressive-and-how-git-deltas-work/ )
That information is a bit old now, so maybe things have changed. But ever since I found it out I have been doing "git repack -ad" and I seem to get better results.
Posted by: Chris | June 09, 2009 at 10:53 AM
@chris, cool, thanks for the note! I'll change the docs.
Posted by: tomcopeland | June 09, 2009 at 11:00 AM