Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

SubversionのリポジトリをGitリポジトリに変換し、BitBucketに登録する。

今回はSVNのダンプからリポジトリを復元した。

$ mkdir ~/svn

$ svnadmin create ~/svn/test

$ svnadmin load ~/svn/test/ < svndumpfile

$ sudo apt-get install aptitude

$ sudo aptitude -y install apache2

$ sudo aptitude libapache2-svn

$ cd /etc/apache2/mods-enabled

ブラウザから見えるように、emacsで「dav_svn.conf」を編集する。

<location /svn>
  DAV svn
  SVNParentPath "/home/jyukutyo/svn"
</location>

前置きはここまで。


git-svnライブラリを使う。
ここではUbuntuだけど、他のディストリビューションにもある。

$ sudo apt-get install git-svn

リポジトリの所有者をUbuntuのユーザーに変更する。

$ sudo chown -R www-data.www-data ~/svn/test/

$ sudo /etc/init.d/apache2 restart

Gitのローカルリポジトリを作成する。

$ sudo git svn clone --no-metadata http://localhost/svn/test

あとは公開鍵を作成する。

$ ssh-keygen -t rsa
$ mv id_rsa* ~/.ssh/

.ssh/configファイルを作成する。

Host ****
  User git
  Port 22
  Hostname ****
  IdentityFile ~/.ssh/id_rsa
  TCPKeepAlive yes
  IdentitiesOnly yes

BitBucketなら、*に「bitbucket.org」を設定する。

BitBucketをリモートに設定して、pushする。

$ git remote add origin git@~.git

$ git push origin master