如何告诉作曲家使用我的一个分支


How to tell composer to use a branch of my fork?

在symfony2项目中,我使用的是"jms/serializer-bundle",并且它的一个依赖项,即jms/metadata库有问题。我已经将元数据库分叉,并在bugfix-doctrine-proxy分支中包含了一个修复。

现在我想知道如何告诉作曲家,它应该使用我的分支时需要的依赖?

作曲家。序列化器库的Json:

{
    "name": "jms/serializer",
    "type": "library",
    ...
    ],
    "require": {
        "php": ">=5.3.2",
        "jms/metadata": "~1.1",
        "jms/parser-lib": "1.*",
        "phpcollection/phpcollection": "~0.1",
        "doctrine/annotations": "1.*"
    },
    ...
}

My symfony2-project composer.json:

{
    ...
    "repositories": [
        {
            "type": "git",
            "url": "git@github.com:hauptsacheNet/metadata.git"
        }
    ],
    "require": {
        "jms/serializer-bundle": "dev-master",
        ...
    }
}

答案是使用分支别名:

{
"repositories": [
        {
            "type": "git",
            "url": "git@github.com:hauptsacheNet/metadata.git"
        }
    ],
    "require": {
        "jms/metadata": "dev-bugfix-doctrine-proxy-class as 1.1",
    },
}