2012-02-23 74 views
1

当我使用Mercurial重命名文件,然后提交而没有任何更改时,为什么它仍将完整文件发送到存储库? (我可以说,因为随后推送到远程存储库显示有多少数据正在传输)。它不是很明显,它只需要重命名?在Mercurial中对文件重命名的低效处理

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

回答

3

这是Mercurial使用的存储格式中已知的缺陷。您可以搜索"lightweight copies"查看完整故事,但是简要地说,问题是在重新命名时为新文件名创建了新的revlog。新的revlog从完整文件的压缩快照开始 - 这通常不是一个大问题,但它仍然大于零大小的delta。

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

+0

完美,谢谢 – max 2012-02-23 20:46:22

相关问题