У меня есть несколько связанных приложений, которые я хочу развернуть на разных компьютерах.У каждого из них большой общий код, и у них есть что-то уникальное.Например, у меня есть сервер и клиент, которые используют много общих классов для общения друг с другом.У меня есть еще больше серверов и клиентов, которые используют одни и те же классы, но не связаны друг с другом.
Простое решение - просто оставить их всех в одной структуре каталогов, чтобы они могли использовать любые модули, которые онинужно, и всякий раз, когда я развертываю сервер или клиента, я помещаю всю базу кода.Однако кодовая база довольно велика, и некоторые компоненты используют файлы данных размером в несколько мегабайт.
В идеале я бы хотел, чтобы все они использовали один и тот же код, но мог бы точно развернуть, какие именно файлы нужны каждому компоненту ... и все они были бы подключены к одному и тому же контролю версий.Так что это будет что-то вроде:
На одном компьютере: svn checkout client1
.По другому: svn checkout server1
.По другому: svn checkout client2
.Затем, если я изменю некоторый код client2, который является общим для client2 и client1, оба будут обновлены, когда я сделаю svn update
.Кроме того, в идеале мне не нужно было бы выбирать нужные мне файлы вручную, поскольку это может раздражать, но я могу с этим справиться.
У других людей была эта проблема?У него есть более определенное имя?Какие решения я могу использовать, чтобы решить это?