Converting a Subversion Repository(hosted on Assembla) to a GIT repository (hosted on dedicated Linux Host)

July 29, 2014

Converting a Subversion Repository(hosted on Assembla) to a GIT repository (hosted on dedicated Linux Host)

We were tasked by our client to move several subversion repositories,  hosted at Assembla,  to GIT on dedicated internal Linux server.  First step was actually installing the Ubuntu Server on their ESXi4 server.

Next I installed GIT on the server.

Next I clone the svn directory into git.

Ignore the errors about using –prefix,  these just caused me headaches and so by NOT using their recommendations to set prefix=origin/  this will work.
Enter your username and password and each time I get an error which says I need to have ‘usera’  I would add usera to users.txt and run the get svn clone command again

If you receive the error “Unexpected HTTP status 405 ‘Method Not Allowed’ on ‘/svn/wssus.admindash’” this means that you have some protected directories setup in your Assembla.  Open the project within Assembla > Settings > Protected branch and remove the directories and run the git svn clone command again 

I dont have any ignore files in svn so i fake one

Move the git repository to a new/bare repo and create a symbolic link for the ‘trunk’ coming from SVN

Go back to the temporary git repo and push it to the new bar repo and rename the ‘trunk’ to ‘master’

Clean up branches and tags (thanks to http://john.albin.net/git/convert-subversion-to-git for most of this)

Now you have a new repo at /git/newreponame.    check it out to confirm it worked by checking it out and confirming that you have the same log history as your original SVN repo