我正在尝试使用本地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
所以我的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
但如果我在那里,我会在哪里举办此活动?
答案 0 :(得分:4)
看起来Composer假设您坚持使用/trunk
,/branches
和/tags
的公共存储库布局。另外,您必须输入存储库根目录的URL - 而不是完整的项目路径。您可以使用package-path
指定项目特定的路径。
请参阅文档Composer | Subversion Options。
由于Subversion没有分支和标签的原生概念,因此Composer 默认情况下,代码位于
$url/trunk
,$url/branches
和$url/tags
。如果您的存储库具有不同的布局,则可以 改变这些价值观。