Я бы попытался решить проблему управления зависимостями вне SVN (подумайте об Apache Maven или Ivy в Javaverse).
Если это должен быть SVN, как насчет специальных имен тегов? Таким образом, вы можете ввести соглашение, согласно которому ваша система сборки просматривает специальные папки для версий, от которых она зависит, например, /Module1/branches/deps/Project1/Rel-1.0
для кода, необходимого для сборки Rel1 1.0 Project1.
/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.