Git

2014-08-21, git subversion

SubversionからGitへ移行

Gitに最初から移行ツールが含まれているようですが、幾つか準備も必要です。ユーザ情報の持ち方が違うので、まずは、Subversionの作業コピー内で以下のコマンドを実行し、Subversionにコミットをしているユーザの一覧を取得します。

$ svn log ^/ --xml | grep "^<author" | sort -u | perl -pe 's/<author>(.*?)<\/author>/$1 = /' > users.txt

上記のコマンドで作成されるusers.txtには左辺(Subversionのユーザ名)だけ記録されていますので、右辺を書き足します。

users.txt
john = John <j@foo.com>
tim = Tim <t@foo.com>

その上で、以下のようにSubversionのリポジトリをクローンすると、コミットの履歴が残った状態で、データをGitに移行してくることが可能です。

$ git svn clone svn+ssh://exsample.com/path/to/repo/ --authors-file=users.txt --no-metadata

参考URL

この記事は役に立ちましたか?