具有本地SVN回购的作曲家

时间:2012-10-24 00:53:14

标签: php svn symfony composer-php

我正在尝试使用本地SVN repo运行作曲家,我可以点击我想要的回购,但作曲家不断将/branch添加到URL的末尾。

我该如何覆盖?

以下是文档:

我的例子

"repositories": [
    {
        "type": "vcs",
        "url": "http://host.com/externals/project",
        "trunk-path": "trunk",
        "branches-path": "branches",
        "tags-path": "tags",
        "reference": "symfony/symfony"
    }
],
"require": {
    "project/project": "svn-project"
}

输出是这样的:

[RuntimeException]                                                                                                                                                      
Repository http://host.com/externals/project/version could not be processed, 
svn: URL 'http://host.com/externals/project/version/branches' 
non-existent in that revision 

这是我的颠覆布局:

http://host.com/externals/project/version
  • 外部是像Symfony
  • 这样的图书馆
  • 项目是Symfony
  • 版本是2.1.2

所以我的svn回购就像:

http://host.com/externals/symfony/2.1.2

有什么想法吗?

这就是我为我们正在使用的商店外部图书馆工作的公司

更新:

我已将回购改为:

http://host.com/externals/symfony/trunk/ <-- empty directory
http://host.com/externals/symfony/branches/ <-- empty directory
http://host.com/externals/symfony/trunk/2.1.2 <-- holds the Symfony 2.1.2 release code

现在我收到这条消息:

Reading composer.json of http://host.com/externals/symfony/ (2.1.2)
Importing tag 2.1.2 (2.1.2.0)

但它仍然从github repo而不是我的svn repo中拉出来。

我也读过Satis

但如果我在那里,我会在哪里举办此活动?

  • 哪个项目?
  • 在我的SVN回购?
  • 其他地方?

1 个答案:

答案 0 :(得分:4)

看起来Composer假设您坚持使用/trunk/branches/tags的公共存储库布局。另外,您必须输入存储库根目录的URL - 而不是完整的项目路径。您可以使用package-path指定项目特定的路径。

请参阅文档Composer | Subversion Options

  

由于Subversion没有分支和标签的原生概念,因此Composer   默认情况下,代码位于$url/trunk$url/branches   和$url/tags。如果您的存储库具有不同的布局,则可以   改变这些价值观。