2015-08-20T02:48:36+09:00

Subversion のレポジトリの一部を git レポジトリに移行する。

Subversion のレボジトリのレイアウトが次のようになっており、複数のプロジェクトが一つのレポジトリで管理されているとする。

git の様な分散型では、レポジトリをできるだけ細かい単位で持つのが推奨されるようだ。だから、project1 だけを取り出して git レポジトリとしたい。

次のコマンドで一発でいける。

git svn clone -A ./authors.txt file:///path/to/svnrepos -T project1/trunk -t project1/tags -b project1/branches project1

-T, -t, -b オプションをつかって、trunk, tags, branches のサブパスを全部指定することがポイントである。

ちなみに、authors.txt は、Subversion のコミッター名と git の author の対応が書かれている。ちなみに、僕の場合は、こんな感じ。

tkurita = Tetsuro Kurita <xxxx@mac.com>
(no author) = Tetsuro Kurita <xxxx@mac.com>

以前、同じことをしようとして凄まじく無駄なステップを紹介したことを恥ずかしく思う。