





















这是一个创建于 2011 天前的主题,其中的信息可能已经有所发展或是发生改变。
因为 Github/微软要求,为了避免昂贵的 shallow diff,所有用户都需要 unshallow 整个 repo 。brew update 的时候会报错直到 unshallow 。
看了下/usr/local/Homebrew/Library/Taps/占用空间已接近 1G,并且还会继续增长。为了节省计算资源,需要所有用户献出更多硬盘资源。Linux 上包管理器是怎么解决这个问题的?
附上 unshallow 的 commands
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask" fetch --unshallow
相关讨论: https://github.com/Homebrew/discussions/discussions/225
1 clrss 2020 年 12 月 11 日linux 包管理器一般不保存包的元数据的历史.. 我的 /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core 才 220MB (已 unshallow). 试了下 `git gc --prune=all --aggressive` |
2 clrss 2020 年 12 月 11 日花了 N 久, 变 190MB 了... |
3 Kobayashi 2020 年 12 月 11 日 via AndroidLinux 下没有这种问题。Homebrew 操蛋地滥用 Github 。 |
4 huijiewei 2020 年 12 月 11 日运行后提醒 fatal: 对于一个完整的仓库,参数 --unshallow 没有意义 |
7 lovestudykid 2020 年 12 月 11 日@clrss 多谢,有点担心会 break homebrew 。run 了一遍降到了 421M 。可能这就是 community 用 git 维护的代价,历史信息对普通用户来说根本没用,一点也不优雅... |
12 Cbdy 2020 年 12 月 11 日 via Android其实 HomeBrew 这种用法,算是是对 GitHub 的滥用了吧,历史记录对用户根本没有意义啊 |
13 clrss 2020 年 12 月 11 日感觉更多的是 git 的 shallow 机制有待优化吧, 对于不带 merge 的线性历史, 后续的 fetch 应该不贵啊 |
14 cairnechen 2020 年 12 月 15 日想问下这个 unshallow 操作会有什么风险吗? |
15 mycang 2021 年 2 月 7 日git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow 怎么办?不能 update |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。