昔調べた物。色々うろ覚え。
基本方針
外部参照が無ければ、git svn
,SubGit
などを使えば良いのですが、
これらは外部参照を無視してしまいます。
snv の外部参照の代用としては、git の SubModule が利用できます。
SubModule の使い方
略
ググれば情報が出るのと、
記事とか読むより、実際に触って試した方が良いと思うので。
外部参照とSubModuleの差異
一部分を取り込むことが出来ない。
特定のフォルダのみを外部参照で取り込んでいる場合は、
参照されているフォルダを別のリポジトリとして分割する必要があります。
- 移行前のsvnリポジトリを分割した方が、処理時間が速かったです1
- ライブラリ化など、別の方法で取り込む様に変えても良いかもしれません
最新を指す事が出来ない。
外部参照では、参照先のリビジョンとして、Head を指定できましたが、
SubModule では、参照するコミットを明示する必要があります。2
SubModule の注意点
ツールによっては、SubModule に対応をしていない事があります。
開発ツールの案内などをしている場合は、SubModele に対応したツールかを、気にした方が良いでしょう。
SubModuel を追加する、コミット位置に関して
簡単にやるなら、移行の直後に SubModule 追加すれば十分です。
ただし、移行前のコミットをチェックアウトした場合に、恐らくビルドは通らなくなりますが。
古いコミットでもビルドが通るようにするなら、svn で外部参照を設定したコミットで SubModule の追加を行い、
参照するリビジョンが
古いコミットでもビルドが通るようにするなら、
svn で外部参照の追加,変更を行ったコミットを洗い出し、
その各所で SubModule の追加,変更を行う必要があるでしょう。