Short script to do it all: (it's not perfect, but it does the job...)
#!/bin/bash # variables: # existing svn repository SVNREPO=$1 # new git repository GITREPO=$2 # username # SVNUSERNAME=$3 # DO THIS FIRST TO CREATE USERLIST: (just do it manually, and add all users into one big file) # for getting authors # svn log $SVNREPO -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" quot;, "", $2); print $2" = "$2" <"$2">"}' | sort -u > ~/svn_convert/authors-transform.txt #now edit ~/svn_convert/autors-transform.txt #create temporary git folder mkdir git_tmp_repo cd git_tmp_repo #clone repo to git git svn clone --no-metadata -A ~/svn_convert/authors-transform.txt . -T $SVNREPO #optimize repo git gc git fsck # clean SVN sections from Git git config --remove-section svn git config --remove-section svn-remote.svn rm -rf .git/svn .git/{logs/,}refs/remotes/svn/ # add remote git remote add origin $GITREPO # push to master git push -u origin master # remove temporary git folder cd .. rm -rf git_tmp_repo