mercurial是传输完整文件还是只传输差异?

Hyd*_*erA 2 mercurial rsync dvcs pull

我们有一个200mb的文件.我们目前使用rsync在开发人员更改时将其传输.如果我们将它作为我们的mercurial存储库的一部分包含在内,那么mercurial只会像rsync一样传输差异,还是会在更改时传输完整的文件?

Mar*_*ler 5

Mercurial只在您转移增量时hg pull.否则分布式版本控制根本不起作用.

当您hg pull,您获得本地克隆中缺少的所有变更集.每个变更集只包含一个delta.三角洲可以很小或很大,但如果你对rsync今天发现的三角洲感到满意,那么你也应该对Mercurial感到满意.

关于二进制文件:Mercurial 在进行提交时区分"文本"和"二进制"文件.它们都被处理相同,并且在所有情况下都使用delta压缩.令人困惑的是,如果文件在每次编辑时发生根本变化,则增量压缩将毫无用处 - 增量将与文件本身一样大.在这种情况下,Mercurial实际上存储了文件的压缩快照.