Rom*_*man 1 performance mercurial clone
问题:通过网络克隆mercurial存储库需要太多时间(~ 12 minutes).我们怀疑这是因为.hg目录包含很多文件(> 15 000).
我们还有git更大的存储库,但克隆性能非常好1 minute.看起来是因为.git通过网络传输的文件夹只有几个文件(通常< 30).
问题: Mercurial是否支持"存储库压缩到单个blob"以及它是否支持如何启用它?
谢谢
UPDATE
Mercurial版本:1.8.3
访问方式:SAMBA分享(\\server\path\to\repo)
Mercurial安装在Linux机器上,可从Windows机器访问(通过Windows域登录)
Mercurial使用某种压缩方式在网络上发送数据(参见http://hgbook.red-bean.com/read/behind-the-scenes.html#id358828),但是通过使用Samba,你完全绕过了这种机制.Mercurial认为远程存储库位于本地文件系统上,使用的机制不同.
它在链接文档中明确指出每个数据在发送之前都作为一个整体压缩:
算法和整个流的压缩(而不是一次修改)的这种组合大大减少了要传输的字节数,从而在大多数网络上产生更好的网络性能.
因此,您将不会遇到使用"真实"网络协议的15'000个文件的问题.
顺便说一句,我强烈建议不要使用像Samba这样的东西来共享你的存储库.这确实是在寻找各种问题:
您可以在wiki上找到有关发布存储库的信息:PublishingRepositories(在那里您可以看到根本不建议使用samba)
要回答这个问题,AFAIK,没有办法压缩Mercurial元数据或类似的东西,比如减少文件数量.但是如果存储库正确发布,这将不再是一个问题.