0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

昔調べた物。色々うろ覚え。

基本方針

外部参照が無ければ、git svn,SubGit などを使えば良いのですが、
これらは外部参照を無視してしまいます。

snv の外部参照の代用としては、git の SubModule が利用できます。

SubModule の使い方

ググれば情報が出るのと、
記事とか読むより、実際に触って試した方が良いと思うので。

外部参照とSubModuleの差異

一部分を取り込むことが出来ない。

特定のフォルダのみを外部参照で取り込んでいる場合は、
参照されているフォルダを別のリポジトリとして分割する必要があります。

  • 移行前のsvnリポジトリを分割した方が、処理時間が速かったです1
  • ライブラリ化など、別の方法で取り込む様に変えても良いかもしれません

最新を指す事が出来ない。

外部参照では、参照先のリビジョンとして、Head を指定できましたが、
SubModule では、参照するコミットを明示する必要があります。2

SubModule の注意点

ツールによっては、SubModule に対応をしていない事があります。
開発ツールの案内などをしている場合は、SubModele に対応したツールかを、気にした方が良いでしょう。

SubModuel を追加する、コミット位置に関して

簡単にやるなら、移行の直後に SubModule 追加すれば十分です。
ただし、移行前のコミットをチェックアウトした場合に、恐らくビルドは通らなくなりますが。

古いコミットでもビルドが通るようにするなら、svn で外部参照を設定したコミットで SubModule の追加を行い、
参照するリビジョンが

古いコミットでもビルドが通るようにするなら、
svn で外部参照の追加,変更を行ったコミットを洗い出し、
その各所で SubModule の追加,変更を行う必要があるでしょう。

  1. コミット数などにも依存すると思われますが。

  2. もっとも、最新を指す運用自体が、過去の状態に戻した際に不整合が出るなど不都合な点が多く、あまり良い運用ではありませんが

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?