- git
- git-svn
$ sudo apt-get install git
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt-get update
$ sudo apt-get install git-svn
¹ Ubuntu 14.04
- Download svn dump from Google archive.
- Create a local svn repo by load the svn dump.
- Start svn daemon.
- Create
authors.txt
to map all svn users to git users. - Create a bare git repo.
- git svn clone.
- Add git remote then push.
- Done.
$ wget https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/your-google-code-project/repo.svndump.gz
$ gunzip repo.svndump.gz
$ svnadmin create /tmp/repo1
$ svnadmin load /tmp/repo1/ < repo.svndump
$ svnadmin --foreground -d
Start a new terminal Window
$ git svn --stdlayout -A authors.txt clone svn://localhost/tmp/repo1/
$ cd repo1
$ git remote add origin https://repo.git
$ git push --set-upstream origin master
Must map all svn users to git users.
user1 = user1 <[email protected]>
user2 = user2 <[email protected]>
(no author) = user3 <[email protected]>
No need to serve the svn repo, as
git-svn clone
supports file protocol.So instead of
just:
Also, could include the
--no-metadata
option as this is a one-shot import.Reference:https://www.gitkraken.com/blog/migrating-git-svn