1

当我使用 Mercurial 重命名文件,然后提交而不做任何更改时,为什么它仍会将完整文件发送到存储库?(我可以知道,因为随后推送到远程存储库显示了正在传输的数据量)。它只需要重命名不是很明显吗?

我在 Windows 下使用的是最新版本的 TortoiseHG,有问题的文件是一个 20MB 的文本文件。

4

1 回答 1

3

这是 Mercurial 使用的存储格式中的一个已知缺陷。您可以搜索完整故事的“轻量级副本”,但简而言之,问题是当您重命名时会为新文件名创建一个新的revlog 。新的 revlog 以完整文件的压缩快照开始——这通常不是一个大问题,但它仍然大于零大小的增量。

除非您想修补 Mercurial 并运行实验代码,否则您现在几乎无能为力。好消息是您只需等待:我们一直在开发的补丁将能够自动将您现有的存储库转换为更节省空间的存储库。当您hg clone通过网络或在hg clone --pull本地使用时会发生这种情况。

于 2012-02-23T20:20:16.260 回答