2013-05-02 67 views
11

我有2个分支一个Git项目:作曲家和多个分支

  • 站长:目前的“稳定分支”,但受到改变。发布从那里被标记。
  • Devel:下一个版本的开发分支。当我们认为来自这里的一些特征非常稳定时,这被合并为主。

在主,我有我的composer.json使用特定版本的要求:

"require" : { 
    "triagens/arangodb" : "1.2.1", 
    "php" : ">=5.4.0" 
}, 

在我devel的分支,我想用依赖的开发版:

"require" : { 
    "triagens/arangodb" : "dev-devel", 
    "php" : ">=5.4.0" 
}, 

实际上,当转换分支时,composer installcomposer update运行时,我想让作曲者更新/更改相关的版本。

由于composer install --dev不支持在require-dev中具有不同版本的依赖关系,因此我无法在require-dev部分中设置不同的版本。

我还希望每个分支都没有单独的composer.json,因为合并会很痛苦。

如果您有多个分支并且每个分支使用某个版本的依赖项,那么执行此操作的最佳方法是什么?

回答

20

可以保持composer.json多个版本,以不同的名字:

  • composer.master.json
  • composer.dev.json

然后当你调用composer.phar installcomposer.phar update,您可以前言所需的作曲家文件来使用:

  • COMPOSER=composer.master.json php composer.phar update
  • COMPOSER=composer.dev.json php composer.phar update

CLI docs

+2

这是个聪明的主意! :) – F21 2013-05-05 00:58:24

+1

我喜欢你的想法,但我想用: 'composer.json'作为主文件 'composer.dev.json'用于开发 – 2014-08-11 15:50:41