Потянув определенные каталоги в Mercurial? - PullRequest
1 голос
/ 09 марта 2012

Позвольте мне попытаться сделать это действительно простым для подражания. Я развертываю Vagrant для своих разработчиков и буду использовать Puppet для предоставления компьютеров. Допустим, у меня есть два набора машин, один из которых имеет сервер apache / mysql5 и сервер apache / mongodb. Я использую Puppet для управления различными компонентами, но я не использую централизованный сервер puppetmaster.

С учетом вышесказанного я работаю с двумя каталогами в хранилище Mercurial. В случае, если мне нужно что-то изменить с помощью mysql, я могу заставить разработчиков извлекать последние изменения соответственно. У меня проблема в том, как мне обрабатывать структуру хранилища, не дублируя структуру каталогов.

manifests - это отличается для каждой машины, mysql машина будет иметь директивы для установки mysql, тогда как mongodb машина будет иметь свои собственные инструкции для mongodb

modules - это общее для каждой машины, но только необходимые папки внутри этой папки хранятся на каждой машине (то есть modules / mongodb и modules / mysql).

Если я скину все это в один большой репозиторий, я не хочу, чтобы мой сервер "apache + mysql" загружал модули для модулей "apache + mongodb". Можно ли, скажем, поместить каталог manifests в конкретное хранилище и загрузить только соответствующие папки из папки modules?

1 Ответ

3 голосов
/ 09 марта 2012

Вы можете использовать функциональность Subrepository Mercurial.

Если я правильно понимаю, что вы хотите, я сделаю следующее:

  1. Один репозиторийдля каждого различного манифеста
  2. Один репозиторий для каждого из различных модулей
  3. Создайте репозиторий "верхнего уровня" для каждого типа машины, который будет содержать различные необходимые подпозитории сверху.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...