Похоже, у вас есть две разные проблемы, которые вам нужно решить:
- Как настроить VCS для вашей конфигурации сборки
- Как обращаться с внешними библиотеками
Для вашего VCS оставьте настройку как есть - в корне вашего хранилища. В каждую конфигурацию сборки вы можете добавить правила оформления заказа , чтобы сократить время оформления заказа до нужных папок.
Например, вы можете использовать следующую папку, чтобы сделать папку багажника корневой папкой оформления заказа:
+:trunk=>.
Или для ветки вы можете сделать что-то вроде:
+:branches/featureset=>.
При желании вы можете добавить несколько правил оформления заказа, включая добавление любых файлов / папок из папки extlib:
+:extlibs/dependency-2.5.3=>.libs/dependency1
Вы даже можете удалить файлы / папки, используя правила оформления заказа:
-:trunk/files-not-needed
Для ваших внешних библиотек , как указано в других ответах, вы можете включать внешние папки, используя SVN. Тем не менее, я бы не стал жестоко обращаться с включением всей папки extlibs. Включайте только те версии библиотеки, которые вам нужны для создания проекта. Также убедитесь, что ваши папки extlibs хорошо защищены от изменений. Благодаря детальному изучению внешних факторов вы можете избежать попыток создать старую версию, поскольку ваш проект будет связан с правильной версией. Если вы активировали триггерные сборки, вы также избежите изменения библиотеки, запускающего сборку. Например, вы можете настроить ваш snv: external libs следующим образом:
libs/dependency1 svn://yoursvnserver/svn/extlibs/dependency-2.5.3
libs/dependency2 svn://yoursvnserver/svn/extlibs/dependency-rc-2.4