Я перемещаю хранилище кода Visual SourceSafe в Subversion и сталкиваюсь с проблемой.
Вот упрощенная схема нашего текущего дерева исходного кода (в VSS):
project_root\
|-libs\
|-tools\
|-arch_1\
| |-include
| |-source
|-arch_2\
|-include
|-source
Моя проблема в наших двух arch_
папках.Каждая папка arch_
будет построена для различной аппаратной архитектуры, но содержимое этих двух папок практически идентично.Файлы в arch_2
являются просто ссылками VSS на файлы в arch_1
, за небольшим исключением.Работа обычно проверяется в папке arch_1
и из нее, и ссылки VSS гарантируют, что любой проверенный здесь код обновляется также в папке arch_2
.
Перемещение в Subversion, есть ли что-нибудьчто будет вести себя как ссылки VSS?То есть есть ли способ иметь два файла в отдельных папках, магически связанных друг с другом, чтобы они всегда были синхронизированы друг с другом (изменения одного также влияют на другой)?
Примечание: Я знаю правильный ответ здесь, чтобы исправить систему сборки.Система сборки в этом проекте была собрана примерно десять лет назад, когда наша система компиляции / сборки не была достаточно умна, чтобы компилировать одну и ту же папку, полную исходного кода для двух разных архитектур.Благодаря make
и обновленным компиляторам мы можем переписать систему сборки, чтобы устранить эту зависимость от двух параллельных исходных папок.Однако это займет время, которого у нас нет на данный момент (мы теряем нашу лицензию на наш VSS-сервер и вынуждены мигрировать в довольно короткие сроки).Я надеюсь найти решение этой проблемы в Subversion, потому что в настоящее время мы потратили бы гораздо больше времени на беспрепятственную миграцию, чем переписывание системы сборки (которая будет следующей в моем списке дел!).
Спасибо за вашу помощь!
Пояснение: Я уже рассмотрел использование внешних определений, и, насколько я могу судить, они могут использоваться только на уровне каталогов.Я ищу что-то, что работает на уровне файлов, так как некоторые из наших каталогов имеют смесь общих / связанных файлов и несвязанных, специфичных для архитектуры файлов.