私はSVNの外で(JavaverseのApache MavenやIvyを考えて)依存関係管理を解決しようとします。
それがSVNでなければならない場合、特別なタグ名はどうですか?したがって、ビルドシステムがProject1のRel-1.0ビルドコードの /Module1/branches/deps/Project1/Rel-1.0
のような、依存するバージョンの特別なフォルダでビルドシステムが検索するという概念を導入することができますニーズ。
/Project1/branches
/tags/Rel-1.0
/trunk
/Module1/branches
/tags/Rel-1.0
...
/tags/Rel-2.0
/deps/Project1/Rel-1.0
/deps/Project1/Rel-1.1
/trunk
/Module2/branches
/tags/Rel-1.0
...
/tags/Rel-2.1
/deps/Project1/Rel-1.0
/deps/Project1/Rel-1.1
/trunk
タグフォルダを参照することによって、扶養家族のためのフォルダを作成することができます。
# dependencies to Module1
svn cp http://myServer/svn/Module1/branches/tags/Rel-1.0 http://myServer/svn/Module1/branches/deps/Project1/Rel-1.0
svn cp http://myServer/svn/Module1/branches/tags/Rel-2.0 http://myServer/svn/Module1/branches/deps/Project1/Rel-1.1
# dependencies to Module2
svn cp http://myServer/svn/Module2/branches/tags/Rel-1.0 http://myServer/svn/Module1/branches/deps/Project1/Rel-1.0
svn cp http://myServer/svn/Module2/branches/tags/Rel-2.0 http://myServer/svn/Module1/branches/deps/Project1/Rel-1.1
後でバージョンを切り替えると、次のようになります
# delete old reference
svn rm http://myServer/svn/Module1/branches/deps/Project1/Rel-1.1
# make other one for new version
svn cp http://myServer/svn/Module1/branches/tags/Rel-2.1 http://myServer/svn/Module1/branches/deps/Project1/Rel-1.1
このアプローチの欠点は、SVNの作業ディレクトリのために必要なスペースが増えることです。