Мы версии всех наших основных библиотек.
Так, например, SVN выглядит так:
/ репо / lib1 / багажник /
/ Репо / Lib1 / теги / 1,0
/ Репо / Lib1 / теги / 1,1
/ репо / lib1 / филиалы
...
Это позволяет избежать ситуации, когда вы нарушаете BC, или что-то еще , и требует обновления трех других проектов, которые используют библиотеку.
Более того, мы используем svn:externals
- ссылку эти библиотеки в проекты.
/ Репо / Проект1 / теги / 1,0
/ репо / project1 / багажник / библиотека
...
svn propedit svn:externals /repo/project1/trunk/library
Введите следующее:
lib1 svn: //host/repo/lib1/tags/1.1
... и передайте изменения.
Сам проект1 также следует соглашению (теги для выпусков и т. Д.).
В зависимости от выбранного вами языка, есть, конечно, другие варианты. Дайте мне знать, если вы можете вдаваться в подробности, и я посмотрю, смогу ли я расширить свой ответ. Но в целом все так просто. Другие инструменты сборки не требуются.
Мы делаем все наше развертывание прямо из Subversion (через capistrano ). Это в основном просто проверка тега, и готово. Даже позволяет горячее исправление. Если вы позволите мне pimping мой собственный блог - я много писал на эту тему ("развертывание из SVN").
НТН!