如何从HomeBrew中删除浅层克隆警告

时间:2017-08-20 13:33:03

标签: git homebrew

➜  ~ brew info test 
Error: No available formula with the name "test" 
==> Searching for a previously deleted formula...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.

我之前修改了git远程地址以反映自制程序的地址。也许它与此相关,但我不知道。

6 个答案:

答案 0 :(得分:22)

从2020年10月开始,Homebrew在安装时不再creates个浅表克隆,而从2020年12月开始,更新现有的浅表克隆也是not allowed

(这是有关降低警告声的原始问题)。

如果配置了浅克隆,则将显示如下消息:

Error: homebrew-core is a shallow clone. To brew update first run:
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow

因此,现在要求执行不精简的过程,而不管是否需要访问此过程提供的扩展历史记录。

12 是GitHub(托管自制公式存储库)的一项请求,旨在减少更改的动机,以减轻生成的服务器的高负载通过使用浅克隆为其大型存储库。

答案 1 :(得分:8)

就像它说的那样

  

要获得完整的历史记录:

git -C "$(brew --repo homebrew/core)" fetch --unshallow

这种方式brew info可以搜索过去只存在但在某些时候删除的公式。

在某些情况下可能会有所帮助,但可能并不多。例如,错误可能是由您尝试查找的公式名称中的拼写错误引起的。在这些情况下,我只是忽略此错误,而不是获取所有历史记录提交。

答案 2 :(得分:6)

使用 --unshallow 标志获取存储库:

git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow

答案 3 :(得分:1)

我通过 git pull --unshallow 更新了 repo

更新 homebrew-core

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git pull --unshallow

更新自制酒桶

cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
git pull --unshallow

答案 4 :(得分:0)

我建议不要取消克隆副本,因为它会限制磁盘空间,使查找速度变慢并且仅允许您安装过时或未经维护的应用程序。

当前无法使该警告静音。在Github issue中提出,但后来被忽略。

打印消息的函数deleted_reason包含一个silent参数,但是afaik无法使用CLI命令中的silent之类的东西,后来调用{{1} }。

答案 5 :(得分:0)

git -C "$(brew --repo homebrew/core)" fetch --unshallow

这个命令应该与 sudo 一起运行,它会起作用。

sudo git -C "$(brew --repo homebrew/core)" fetch --unshallow

Terminal Picture