以前に、逆パターンの記事を書いたのですが、SubGitの日本語情報もあまりないので、この通常パターンについてもとりあげます。
SubGitのpricingをみると、subversion(svn)からgitへの移行(import)については、無料で使用でき、特に制限もありません。移行のための選択肢に十分になりうるでしょう。
SubGitのサイトにはgit-svnとの比較ページもあります。Gitに移行するにあたって、情報が落ちない、時間がかからないなどの利点をあげています。
手順
SubGitのインストール
java7以上が必要です。yumなど最新のjavaをインストールします。
公式サイトからダウンロードして、その中にあるbin/subgitにパスを通せばOKです。面倒ならパスを通さずに、そこを直接見にいくので可です。
Subversionからインポート
このケースはそのためのコマンドが用意されているので簡単です。
/var/www/svn
にリポジトリがあるとします。
$ subgit import --svn-url file:///var/www/svn/[repo_name]
上記で、[repo_name].git
という、gitのベアリポジトリが、subversionのリビジョンを引き継いで作成されます。リビジョンが1000くらいあっても、数分で終わりました。
subversionリポジトリが、Redmineなどの別サーバにある場合は、下記のようになります。
$ subgit import --svn-url https://[redmine_server]/svn/[repo_name]
あとは、できあがったベアリポジトリで運用するか、その内容をGitHubなどのホスティングサービスに移行するだけです。
SubGitのサイトではGitHubへの移行の仕方がでています。
こちらではSubGitでsvnリポジトリと同期するgitリポジトリをつくり、そのgitリポジトリのリモートにGitHub上のリポジトリを追加するという手順です。
移行するための微調整(subversionのレイアウトが通常と違うなど)の設定は公式サイトにあります。
https://subgit.com/import-book.html
他の移行ツール
参考サイト
- Subversionを使用し続けているプロジェクトがGitに移行することを考えてみた
- http://www.slideshare.net/matthewmccullough/migrating-from-subversion-to-git-and-github
- http://peccu.hatenablog.com/entry/2015/11/08/000000
- http://posaune.hatenablog.com/entry/2014/02/04/005014
- http://vg.skr.jp/2013/08/subgit%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F/
- https://osdn.jp/magazine/12/09/27/0438209
- http://tracpath.com/works/development/subversion_vs_git/