こないだ書いた「Subversionのsvn:externalsというプロパティ」の続きです。

先日あるプロジェクトにさっそくこのsvn:externalsを設定したてみたのですが、1つのディレクトリに他の2つのプロジェクトを設定しようとしてはまりました。

先の記事ではコマンドラインベースの設定方法だったため、実は2つのプロジェクトを同時に設定することが出来ないということに気付きました(ごにょごにょやればできそうですが)。

それでどうやるのかなぁと調べてみたら別に難しいことはなく、前回「svn propset」とやっていたところを以下のように「svn propedit」というコマンドにしてやることでプロパティを複数行編集できるようになります。
% svn propedit svn:externals extlib
こうするとSVN_EDITOR、VISUAL、EDITORなどの環境変数で設定されたエディタが立ち上がるので、そこに
otherproj01 http://svn.example.com/repos/otherproj01/trunk
otherproj02 http://svn.example.com/repos/otherproj02/trunk
などと書いて保存することで複数のプロジェクトを設定できるようになります。
上記の場合はotherproj01とotherproj02という2つのプロジェクトをsvn:externalsプロパティに設定することになります。

なお、前回書くのを忘れたのですがsvn propsetやsvn propeditをした際は当然それをコミットする必要があります。
プロパティを設定したらsvn commitを忘れずに。

今までは、あるプロジェクトで複数の外部モジュールを使っていたときは個別にsvn updateして更新を確かめたりと面倒な作業があったのですが、この設定を知ってからはそんなことをする必要もなくなり気苦労の1つが減った感じです。