Позвольте мне попытаться сделать это очень простым для подражания. Я развертываю Vagrant для своих разработчиков, и я буду использовать Puppet для установки машин. Предположим, у меня есть два набора машин, один из которых имеет сервер apache/mysql5 и сервер apache/mongodb. Я использую Puppet для управления различными компонентами, но я не использую централизованный сервер кукловодов.Вытягивание определенных каталогов в Mercurial?
Сказав это, я обслуживаю два каталога внутри хранилища Mercurial. В случае, если мне нужно что-то изменить с помощью mysql, я могу заставить разработчиков выполнить последние изменения. Проблема, с которой я сталкиваюсь, заключается в том, как мне обрабатывать структуру репозитория без дублирования структуры каталогов.
manifests
- Это отличается для каждой машины, mysql
машины будет иметь директивы для установки mysql
в то время как mongodb
машины будет иметь свои собственные инструкции для mongodb
modules
- Это является общей для каждой машины, но только необходимые папки внутри этой папки хранится на каждой машине (т.е. модули/mongodb и modules/mysql).
Если я выброшу все это в один большой репозиторий, я не хочу, чтобы мой сервер «apache + mysql» загружал модули для модулей «apache + mongodb». Можно ли, например, положить каталог manifests
в конкретное репо и загрузить только соответствующие папки из папки modules
?
Вы можете попробовать subrepos. –