- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
=5.2.0", "queueit/KnownUser.V3.PHP": -6ren">
我有以下composer.json
:
{
"require": {
"php": ">=5.2.0",
"queueit/KnownUser.V3.PHP": "dev-master"
},
"config": {
"autoloader-suffix": "ComposerManager",
"vendor-dir": "../../../all/libraries/composer"
},
"prefer-stable": true,
"repositories": [
{
"type": "package",
"package": {
"name": "queueit/KnownUser.V3.PHP",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/queueit/KnownUser.V3.PHP.git",
"reference": "master"
}
}
}
]
}
但是当我运行时:
$ composer -vvv update
...
Cloning master
Executing command (CWD): git clone --no-checkout 'https://github.com/queueit/KnownUser.V3.PHP.git' '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && cd '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && git remote add composer 'https://github.com/queueit/KnownUser.V3.PHP.git' && git fetch composer
克隆过程需要很长时间,并且存储库的大小会增长超过 25MB:
$ du -hs ~/.composer/cache/vcs/https---github.com-queueit-KnownUser.V3.PHP.git/
25M ~/.composer/cache/vcs/https---github.com-queueit-KnownUser.V3.PHP.git/
然后 Composer 因超时而停止:
[Symfony\Component\Process\Exception\ProcessTimedOutException]
The process "git clone --no-checkout 'https://github.com/queueit/KnownUser.V3.PHP.git' '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && cd '.../sites/all/libraries/composer/queueit/KnownUser.V3.PHP' && git remote add composer 'https://github.com/queueit/KnownUser.V3.PHP.git' && git fetch composer
" exceeded the timeout of 300 seconds.
我认为存储库太大,无法克隆所有 git 对象。
如何使用 a shallow clone 更快地克隆存储库?
例如,通过将额外的 --depth 1
或 --single-branch
git 参数传递到 Git 命令中,以便 Composer 自动获取它?
我希望更改能够独立包含在 composer.json
文件中,因此在其他系统上或由其他用户在运行 时调用此文件时,不需要任何外部配置 Composer 安装
。
最佳答案
官方不支持使用Composer进行浅克隆(无需任何修补),因为git参数是硬编码的。
已经有一个功能请求添加此功能:Add support for git shallow clones 。然而,实现此功能可能会导致一些问题(例如,如果深度不是那么高,则无法达到锁定的提交 @stof 等)。
此外还有一个pull request它尝试通过添加额外的 --git-clone-depth
参数来实现浅克隆(测试显示了一些不错的结果)。然而,由于faster git clones using cache,该更改已被放弃.
为了快速破解,可以在 src/Composer/Downloader/GitDownloader.php
中的 doDownload()
中编辑 git 参数,例如通过更改此行中的 --depth 1 --single-branch
:
$command = 'git clone --no-checkout ...'
或者找到将深度 1 设置应用到 git 配置中的方法。
对于较大的存储库,最简单的解决方法(无需任何技巧)就是通过指定如下变量来增加超时:
COMPOSER_PROCESS_TIMEOUT=0 composer install
关于git - 如何使用Composer进行浅克隆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47336174/
免责声明 这篇文章是关于术语“浅拷贝”和“深拷贝”的正确用法,特别是在谈论复制一个不包含任何引用的对象时。这个问题并不意味着(也不应该)基于意见,除非真的没有关于这个话题的共识。我已将此问题标记为 C
我有这个功能 int getrelation(string name, RELATION& output){ bool found=0; int index=0;
与 why should I make a copy of a data frame in pandas 有关 我注意到在流行的backtesting图书馆, def __init__(self, d
我的问题很基础,但我想 100% 理解所有内容。 SO中的很多问题都引用了我的帖子,但我没有找到满意的答案。 我们知道java中的枚举是引用类型。让我们考虑以下片段: public static cl
请引用这个 fiddle 的问题。 http://jsfiddle.net/AQR55/ 1)为什么附加到隔离范围属性的 watch - 双向绑定(bind)到父属性,不会在更改父范围属性时触发。 在
我想使用 UP3 来完成一项非常具体的任务,我应该能够使用 API 来实现该任务。我想了解是否可以编写以下应用程序。 基于https://jawbone.com/support/articles/00
如何在辅助方法中传递上下文并提取数据? 请参阅以下代码片段: import AppContext from '../../context/AppContext' import extractDatta
我正在尝试使用 simple-git 创建浅克隆。我正在尝试创建与此命令等效的命令:git clone --depth 1 https://github.com/steveukx/git-js.git
我是一名优秀的程序员,十分优秀!