Skip to content

Instantly share code, notes, and snippets.

@vrajanap
Forked from yancyn/git-svn.md
Created November 10, 2021 02:39
Show Gist options
  • Save vrajanap/1b82563a221b5d167d4e41230440ba7b to your computer and use it in GitHub Desktop.
Save vrajanap/1b82563a221b5d167d4e41230440ba7b to your computer and use it in GitHub Desktop.
Migrate Archive Google Code SVN to Git

Migrate Archive Google Code SVN to Git

Requirements

  • git
  • git-svn

Setup¹

$ 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

How To

  1. Download svn dump from Google archive.
  2. Create a local svn repo by load the svn dump.
  3. Start svn daemon.
  4. Create authors.txt to map all svn users to git users.
  5. Create a bare git repo.
  6. git svn clone.
  7. Add git remote then push.
  8. 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

authors.txt

Must map all svn users to git users.

user1 = user1 <user1@email.com>
user2 = user2 <user2@email.com>
(no author) = user3 <user3@email.com>

Credits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment