Прежде всего, не используйте теги ветвей стволов верхнего уровня, используйте теги ветвей стволов для каждого проекта, как это:
/Projects
/CashCowProject
/branches
/tags
/trunk
/vs
/doc
Это означает, что инструменты отслеживания могут просматривать http://svn/Projects/CashCowProject и видеть ВСЕ действия в этом проекте, а не получать какие-либо действия в любом другом проекте. Также он заставляет вас контролировать ссылки между проектами, а это означает, что ваши проекты верхнего уровня не изменятся без записи в транке.
Когда проекты ссылаются друг на друга, используйте svn: externals, чтобы получить тег из нужного вам проекта библиотеки. Используйте ветки поставщиков, как описано в книге о красных компонентах, для работы со сторонними библиотеками, даже двоичными.
Хранение двоичных файлов библиотеки в SVN в порядке. Возможно, для этого стоит рассмотреть отдельный репозиторий, хотя мы этого не делаем.
Для продвижения кода сохраняйте стабильную ветвь для конкретной версии и объединяйте ее только из транка в эту ветвь, а затем добавляйте тег из этой ветки. Это даст вам отчет о том, что находится в каждом выпуске.
Вы можете оставить там двоичные файлы COM, если не собираетесь извлекать исходный код и собирать его. Вы можете написать скрипт после обновления для черепахи, который будет регистрировать любые найденные COM-объекты.