Php 在composer.json中使用自定义版本标记模式\vcs路径

Php 在composer.json中使用自定义版本标记模式\vcs路径,php,composer-php,Php,Composer Php,我有一个svn*repo,它包含一个库的集合,例如src\LibA、src\LibB等 我想将每个库*作为单独的编写器包发布。我在每个Lib*中都包含了一个composer.json,我可以将composer指向每个trunk\src\Lib*并且它似乎并不介意。。。。直到涉及到版本 标记结构针对整个集合标记\1.0\composer.json进行了版本控制,这对于集合MCL本身来说很好。但是,这对于作为MCL\composer.json!=MCL\src\LibA\composer.json

我有一个svn*repo,它包含一个库的集合,例如src\LibA、src\LibB等

我想将每个库*作为单独的编写器包发布。我在每个Lib*中都包含了一个composer.json,我可以将composer指向每个trunk\src\Lib*并且它似乎并不介意。。。。直到涉及到版本

标记结构针对整个集合标记\1.0\composer.json进行了版本控制,这对于集合MCL本身来说很好。但是,这对于作为MCL\composer.json!=MCL\src\LibA\composer.json

理想情况下,我只想在LibA\composer.json中说明它的标记版本是从指定路径提取的。即标记\[version]\src\LibA\composer.json而不是bog标准标记\[version]\composer.json

有什么办法可以这样做吗

*虽然SVN将永远在图片中,我有能力设置git镜像,如果这有帮助的话

PS这可能闻起来像是,但已经6年了,B我特别想问的是,tag\version模式发现本身解决了基本的包发现问题。

您可以使用包路径设置来指定存储库内包的路径:

"repositories": [
    {
        "type": "vcs",
        "url": "https://svn.example.org/",
        "package-path": "src/LibA/"
    }
]
作曲家应该使用https://svn.example.org/trunk/src/LibA/composer.json, https://svn.example.org/branches/[分支名称]/src/LibA/composer.json和https://svn.example.org/tags/[version]/src/LibA/composer.json作为此包的路径


请参阅。

这似乎在我们的环境中不起作用。我们的回购布局是如何让它工作的,而不是在主干中的,这导致了提交包时的错误。我想我们又回到了让它成为一体。但是,您的答案在技术上是正确的,这是最好的正确答案。我不确定我是否理解,但您应该能够通过主干路径设置来更改主干路径。因此,它的缺点是发现再次成为一个问题。我会详细说明,以防有一个孤独的灵魂在同一条船上。我们已经使用subgit在他们自己的gh回购中从svn到github的每个LIB中分块。这使我们易于维护svn+discovery Packagegist中的mono可以读取GH上的trunk/master,但没有版本\标记,因为它们没有发送到GH。原来我们的子Git要么是旧的,要么是配置错误的,因为我刚刚让它也发送了分块标记。