@kyanny's blog

My thoughts, my life. Views/opinions are my own.

svn:externals

svn コマンドの書式はややこしいな。なかなか覚えられない。

$ cd ~/workdir
$ svn propset svn:externals 'extlib http://example.com/svnrepos/proj1/lib' ./proj2

・・・例がうまく書けないってことは、たぶんちゃんと理解できてないな・・・。

svn propset svn:externals 'AAAA BBBB' CCCC

という書式で、

  • AAAA: 外部レポジトリのツリーをワーキングコピー上にチェックアウトしてくるときのディレクトリ名
  • BBBB: 参照するレポジトリのパスなり URL
  • CCCC: これは co じゃなくて propset なので、ワーキングコピーのどのディレクトリに対してプロパティをセットするかを決める。それがこれ。

上の例のばあい、 ~/workdir/proj2/lib というディレクトリがすでにあって、 proj1 の lib ディレクトリも参照したいので extlib という名前でチェックアウトしてきたい。

上の例のように propset して、 svn up すると、 proj2/extlib/... というファイル群がおちてくる。 proj2/ の下には lib と extlib が並ぶ感じ。