I used rsync to mirror the entire SVN repo locally and then using "git svn clone" to import it (which took about 12 hours on a 2.5 GHz Core 2 machine, even with the local SVN mirror).
I haven't been able to clone the new git repo such that the 2nd git copy would not need to do "git svn fetch" on the entire repository. Thus, it seems that putting my git svn mirror in a publicly accessible location isn't actually going to save anyone the pain of letting git call subversion a bazillion times to import all history. (At least not without me understanding things like http://utsl.gen.nz/talks/git-svn/intro.html#howto-track-rebuildmeta ) I'll plan to use my local git repository to interact with the MPL svn repo, but I don't plan to publish my git repo unless I figure out how to set it up so it's actually useful. Until or unless that happens, here's how I cloned the MPL repo: # Directories MPL_RSYNC_DIR="/mnt/workdisk/tmp/matplotlib-svn-rsync" MPL_GIT_DIR="/mnt/workdisk/tmp/matplotlib" # Copy the svn repo history locally mkdir -p $MPL_RSYNC_DIR cd $MPL_RSYNC_DIR rsync -av matplotlib.svn.sourceforge.net::svn/matplotlib/* . # Import into git mkdir -p $MPL_GIT_DIR cd $MPL_GIT_DIR git svn clone --trunk=trunk/matplotlib --tags=tags \ file://$MPL_RSYNC_DIR At this point, you should have a shiny new git MPL repo in $MPL_GIT_DIR suitable for use with git, including two of my favorites, git bisect and gitk. However, to update from svn without going through the rsync intermediate and to commit directly to the svn repo, you need to do the equivalent of "svn switch --relocate" to point your git repo at the SourceForge svn https URL rather than your local rsync copy. I'm at the mercy of my google searching skills here because I don't understand how git-svn works, but I followed the recipe at http://www.ciaran-lee.com/articles/6 . Here it is modified to be specific for this case: * In the [svn-remote "svn"] section of $MPL_GIT_DIR/.git/config, change the url to https://matplotlib.svn.sourceforge.net/svnroot/matplotlib (but note the old file:/// URL -- you'll need that in a minute). * (I think a commit has to have been made to the SourceForge SVN repo for this next step to work. Somewhere in this recipe this has to happen, and I forgot exactly where.) * Run "git svn fetch" in $MPL_GIT_DIR * Change the svn-remote url back to the original file:/// * Run "git svn rebase -l" to do a local rebase (with the changes that came in with the last fetch operation) * Change svn-remote url back to the new url. * "git svn rebase" and "git svn dcommit" should now work. Finally, a couple URLs that are useful for git-svn interaction: * http://andy.delcambre.com/2008/3/4/git-svn-workflow * http://git.or.cz/course/svn.html And the man page: * http://www.kernel.org/pub/software/scm/git/docs/git-svn.html Note that I'd actually suggest getting moderately comfortable with pure git before attempting to do git/svn juggling. I suggest playing with the sympy git repository: git clone git://git.sympy.org/sympy.git Michael Droettboom wrote: > I don't know of any, but if you create one let us know. I'd be > interested in playing with such a thing. I'm ready to see what all the > fuss is about... ;) > > Mike > > Andrew Straw wrote: >> Since using git for some time on several projects (including projects >> with a central svn repository), it's been hard to go back to the >> universally slow web-based subversion history browsers and the absence >> of 'git bisect'. Thus, I'm thinking about cloning the MPL SVN history >> into a git repo, but I wonder if anyone has already done this? Are there >> any git clones of the MPL svn repo out there? >> >> Thanks, >> Andrew >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> _______________________________________________ >> Matplotlib-devel mailing list >> Matplotlib-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel