我想使用 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
对于那些试图帮助他们的人来说,它值得一读