Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
45 lines (29 sloc) 1.06 KB
SubSucka
======================
SubSucka sucks a SVN repository into Git in a distributed manner.
Since jQuery has about 4000 commits, this will split up into 40 threads that each
fetch 1/40th of the repo, then pull all the objects into one repo and rewrite all
of the commit objects properly with data obtained from 'svn log'.
When it works (ie: when SVN doesn't hang), it goes WAY faster than git-svn import.
Getting Started
======================
rake c # will compile and start the shell
> subsucka_server:start(). # starts the master node
> subsucka_slave:start(). # starts the slave node
> subversion_import:import_uri('http://test.com').
Benchmarks (Ruby Prototype)
======================
$> time ruby subsucka.rb
real 8m53.966s
$>time git svn clone http://tarski.googlecode.com/svn/trunk/ t3
real 14m30.805s
ToDo
======================
* port to Erlang
* handle branches and tags
* use an author map
* deal with SVN hanging
Authors
======================
* Blake Mizerany <blake.mizerany@gmail.com>
* Scott Chacon <schacon@gmail.com>