Объединение экосистем с несколькими кодами в SVN (Altium, Microchip/Atmel, LabVIEW)
Есть ли рекомендуемый способ управления несколькими взаимозависимыми экосистемами разработки в одном хранилище SVN?
Мы разрабатываем целые электронные системы от аппаратных плат (в Altium) до микропрограммного обеспечения микроконтроллера (в C для Microchip PIC, Atmel или ARM) и программного обеспечения для ПК для сбора / управления (в LabVIEW).
Так как все они связаны друг с другом (LabVIEW связывается с микропрограммой, которая запускает плату), ревизия в одной из них, вероятно, нуждается в соответствующей ревизии в смежном проекте (т. Е. Для аппаратной версии требуется новый модуль драйвера для прошивки).
Каждая из этих экосистем разработки лучше всего работает с различным макетом хранилища, как из-за различий в управлении проектами / конфигурациями / файлами, так и из-за различий в наших внутренних рабочих процессах разработки для каждого из них.
Я хотел бы сохранить концептуальную связь и организацию между элементами цепочки, которые все идут вместе, но также позволить каждому из них разумно работать со своей соответствующей IDE/ цепочкой инструментов.
Я мог бы с помощью грубой силы спроектировать хранилище, которое решает каждую проблему, о которой я могу думать, но, может быть, есть хороший общий подход к этому?
Возможно использование SVN:externals для предоставления домашнего местоположения для проекта, отличного от того, где фактически разрабатывается код, или папка SVN:externals, указывающая на зависимость (т.е. файлы HW design в проекте прошивки), даже если на них фактически нет ссылок в коде, или какие-то мягкие ссылки, или какое-то дополнительное программное обеспечение для управления проектами?