Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Composer php 优化多个Composer VCS存储库路径_Composer Php - Fatal编程技术网

Composer php 优化多个Composer VCS存储库路径

Composer php 优化多个Composer VCS存储库路径,composer-php,Composer Php,我有一些composer.json文件,其中包含如下部分: "repositories": [ { "type": "vcs", "url": "http://svn.example.com/libs/", "package-path": "Package1" }, { "type": "vcs", "url": "http://svn.example.com/libs/",

我有一些composer.json文件,其中包含如下部分:

"repositories": [
    {
        "type": "vcs",
        "url": "http://svn.example.com/libs/",
        "package-path": "Package1"
    },
    {
        "type": "vcs",
        "url": "http://svn.example.com/libs/",
        "package-path": "Package2"
    },
    {
        "type": "vcs",
        "url": "http://svn.example.com/libs/",
        "package-path": "Package3"
    }
],

"require": {
    "ident/Package1": "~2.0",
    "ident/Package2": "~3.0",
    "ident/Package3": "~1.0"
}
也就是说,各个包位于Subversion中../trunk目录下的子目录中,而不是它们自己的项目目录中的标准。/[trunk,tags,branchs]排列


是否有办法优化此composer.json,以便在只有
包路径
更改时不必重复VCS
类型
url
值?假设我无法更改Subversion目录布局,但几乎任何其他内容都是可能的。

我想不出一个优化的方法

优化的真正潜力在于完全不同的层面:添加私有存储库的方式要求始终将它们中的每一个都添加到根
composer.json
文件中,即使其中没有直接包含包


这是大量的维护工作。例如,如果您可以使用创建一个本地包存储库,并且只在任何地方添加此单一信息,则会更好。使用Satis,您将只添加一次您的私有存储库,然后您是否重复一个URL实际上并不重要。在Satis配置中,添加新包只需执行一次,然后在任何地方都可以使用。

我担心会出现这种情况。我想我会游说以更标准的方式安排我们的Subversion存储库。否则,我将看看是否可以实现Satis解决方案。谢谢优化您的SVN不会真正帮助您-您将获得只为每个包编写两行而不是三行的好处。选择Satis选项,它将帮助您独立于包托管的类型和风格。它还允许您从Github或其他地方获得正在使用的包的本地副本。(以防万一你在部署过程中不考虑GITHUB停机时间)。谢谢你的额外建议。事实上,我有一个自己的大型软件包库,还有一个来自Github/Packagist的软件包库。因此,Satis似乎是首选。有一种方法,如果您可以获得存储库的zip url,您可以将其用作dist,而不是VCS。参考:为了提高效率,基本上先下载zip文件,然后再安装