大型存储库(hg 或 git)

大型存储库(hg 或 git)

我想使用 hg 或 git 来处理大小约为 5gb 的 repo。它们在如此大大小的 repo 上能正常工作吗?

答案1

5 GB 的存储库很大,但也不是大得离谱。你没有说这 5 GB 是仅用于历史记录、工作副本还是组合图?

为了比较,我可以告诉你OpenOffice 存储库有 2.0 GB 的历史记录(约 270,000 个变更集)和 2.3 GB 的工作副本。Mercurial 在该大小下运行良好:

$ time hg status
hg status  0.63s user 0.26s system 99% cpu 0.886 total

使用冷缓存需要 2.4 秒 — 稍长一些,但还不算太糟。工作副本中有 69,000 个文件。

总体而言,随着存储库的增长,Git 和 Mercurial 的速度都会变慢。操作的复杂性不同:hg status显然工作副本中的文件数量),hg commit其复杂度hg status为 O(已修改文件的数量)。像 这样的简单命令hg cat在文件数量和变更集数量上具有 O(1) 复杂度——Mercurial 可以在恒定时间内重建文件的任何版本。

答案2

我从未使用过 hg,但 Facebook 最近发了一篇帖子,称他们的 git repo 速度变慢了。我认为他们的问题是他们所有的“应用程序”都在一个 repo 中

http://thread.gmane.org/gmane.comp.version-control.git/189776

对于那些试图帮助他们的人来说,它值得一读

相关内容