mercurial如何在存储库中压缩文件?

时间:2009-08-13 07:08:41

标签: mercurial

我看到mercurial有效地压缩了存储库中的文件

(repo/.hg/store/data)

是否有人知道存储库文件使用何种压缩?

感谢。

3 个答案:

答案 0 :(得分:7)

Mercurial存储库中有两个级别的压缩:增量存储和zlib compression

此外,各种其他部分也采用压缩。例如,捆绑包可以使用gzip和bzip2进行压缩,也可以归档压缩包 - 但我不认为你要求这些。

答案 1 :(得分:5)

您可能会发现有关revlog格式的Mercurial作者Matt Mackall's paper很有趣。

答案 2 :(得分:1)

使用deflate(与zip相同的算法)压缩文件的初始版本,但对于更新的文件,Mercurial仅存储与先前版本相比的(二进制)差异。

它还尝试做正确的事情:当缩小的JPEG比原始JPEG更大时,它不会将其“压缩”存储,例如。