Skip to content

Instantly share code, notes, and snippets.

@dominicusin
Forked from stwalkerster/sfnet2github.sh
Created July 28, 2017 17:26
Show Gist options
  • Select an option

  • Save dominicusin/6b21083001affbe51a4b3324e5e8ae86 to your computer and use it in GitHub Desktop.

Select an option

Save dominicusin/6b21083001affbe51a4b3324e5e8ae86 to your computer and use it in GitHub Desktop.
SourceForge.net svn repo to github git repo import script
#!/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 [email protected]:$GITHUBUSER/$GITHUBREPO.git
git push -u origin master
echo "Done!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment