#!/bin/bash # imports the svn repo from a sf.net project into a github repo. # please ensure: # a) the github repo exists # b) the sf.net project exists # c) svn2git is installed and the path is correct # d) the svn2git authors file exists and is correctly populated SVN2GIT="/var/lib/gems/1.8/bin/svn2git" SVNAUTHORS="/home/stwalkerster/svnauthors.txt" TRUNKDIR="RoadworksModel" # sourceforge project unix name SFNETPROJECT="roadworksmodel" # github repo - must exist, and you must be able to push to it etc. GITHUBREPO="roadworksmodel" # your username on github - can be an organisation name. # Full repo path will be constructed in the form $GITHUBUSER/$GITHUBREPO.git, hence default settings # will push to the repo at http://github.com/stwalkerster/roadworksmodel GITHUBUSER="stwalkerster" mkdir /tmp/$GITHUBREPO cd /tmp/$GITHUBREPO echo "Downloading local copy of svn repo..." # thanks to # http://www.guyrutenberg.com/2008/12/12/backup-a-sourceforge-hosted-svn-repository-sf-svn-backup/ # for this trick! rsync -aq $SFNETPROJECT.svn.sourceforge.net::svn/$SFNETPROJECT/* sfnet echo "Converting to git..." mkdir git cd git $SVN2GIT file:///tmp/$GITHUBREPO/sfnet/ --authors $SVNAUTHORS --trunk $TRUNKDIR echo "Pushing to github..." git remote add origin git@github.com:$GITHUBUSER/$GITHUBREPO.git git push -u origin master echo "Done!"