Create a user file of authors from your existing svn. This file should be of the form:
john = John Mehan <john.mehan@irdeto.com>
You can extract the authors from svn by using the following one liner:
svn log --xml | grep author | sort -u | perl -pe 's/.*>(.*?)<.*/$1 = /' | tee users.txt
Then download the svn data into a GIT repository:
mkdir repo && cd repo git svn init http://subversion/repo --no-metadata git config svn.authorsfile ~/users.txt git svn fetch
When completed, Git will checkout the SVN
trunk
into a new branch. Any other branches are setup as remotes. You can view the other SVN branches with:git branch -r
Clone your GIT-SVN repository into a clean Git repository:
git clone dest_dir-tmp dest_dir rm -rf dest_dir-tmp cd dest_dir
The local branches that you created earlier from remote branches will only have been copied as remote branches into the new cloned repository. (Skip trunk/master.) For each branch you want to keep:
git checkout -b local_branch origin/remote_branch
Finally, remove the remote from your clean Git repository that points to the now deleted temporary repository:
git remote rm origin