Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fast import project, written in Erlang and Ruby, for converting svn repos to git repos quickly.
Ruby Erlang
branch: master
Failed to load latest commit information.
ebin massively simplified this - I was way overenging it
lib got some successful imports - about a 2-3x increase on a 5-6 node array
proto merged in the erlang branch
src Merge commit 'origin/master'
www beware of reloading
.gitignore getting starting in erlang
ARCH added architecture notes
README updated subversion server with blakes changes
Rakefile got some successful imports - about a 2-3x increase on a 5-6 node array
rewrite_commits.rb got some successful imports - about a 2-3x increase on a 5-6 node array
sucka.sample

README

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>
Something went wrong with that request. Please try again.