5

我正在尝试使用本地 SVN 存储库运行作曲家,我可以点击我想要的存储库,但作曲家不断添加/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 repo 是这样的:

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 存储库而不是我的 svn 存储库中提取。

我也读过Satis

但如果我在那里,我在哪里举办这个?

  • 哪个项目?
  • 在我的 SVN 存储库上?
  • 别处?
4

1 回答 1

4

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

请参阅文档作曲家 | 颠覆选项

由于 Subversion 没有原生的分支和标签概念,Composer 默认假定代码位于$url/trunk,$url/branches$url/tags. 如果您的存储库具有不同的布局,您可以更改这些值。

于 2012-10-24T07:58:10.370 回答