Композитор и несколько ветвей
У меня есть проект git с двумя ветвями:
- Мастер: В настоящее время "стабильная ветвь", но подвергнута изменению. Релизы отмечены оттуда.
- Devel: ветка разработки для следующей версии. Это сливается с мастером, когда мы считаем, что некоторые функции здесь довольно стабильны.
В master, у меня есть требование в моей composer.json
, которая использует определенную версию:
"require" : {
"triagens/arangodb" : "1.2.1",
"php" : ">=5.4.0"
},
В моей ветке devel я хотел бы использовать версию развития зависимости:
"require" : {
"triagens/arangodb" : "dev-devel",
"php" : ">=5.4.0"
},
Эффективно, когда ветки переключаются, и выполняется composer install
или composer update
, я хотел бы, чтобы композитор обновлял/изменял зависимости к соответствующим версиям.
Так как composer install --dev
не поддерживает другую версию зависимостей в require-dev
, я не могу установить другую версию в разделе require-dev
.
Я также предпочел бы иметь отдельный composer.json
для каждой ветки, поскольку слияние было бы довольно болезненным.
Если у вас несколько ветвей, и каждая ветка использует некоторую версию зависимости, что лучший способ сделать это?
Ответы
Ответ 1
Вы можете поддерживать несколько версий composer.json
под разными именами:
-
composer.master.json
-
composer.dev.json
Затем, когда вы вызываете composer.phar install
или composer.phar update
, вы можете предишевать желаемый файл-композитор, который будет использоваться:
-
COMPOSER=composer.master.json php composer.phar update
-
COMPOSER=composer.dev.json php composer.phar update
Смотрите документы CLI.