在Mercurial存储库中查找大文件

时间:2015-12-14 22:56:06

标签: mercurial hg-convert

this link类似,但对于mercurial。我想找到最有助于我的mercurial存储库大小的文件。

我打算使用hg convert来创建一个新的,更小的存储库。我只是不确定哪些文件对存储库大小有贡献。它们可能是已被删除的文件。

在存储库历史记录中的任何位置找到这些内容的好方法是什么?有超过20,000个提交。我正在考虑使用PowerShell脚本,但我不确定最好的方法是什么。

1 个答案:

答案 0 :(得分:10)

检查hg help fileset。像

这样的东西
hg files "set:size('>1M')"

应该为你做的伎俩。您可能需要对所有修订进行操作,但因为它只能在一个修订版上运行。在bash中,我尝试类似

的内容
for i in `hg log -r"all()" "set:size('>400k')" --template="{rev}\n"`; do hg files -r$i "set:size('>400k')"; done | sort | uniq

可能会成功。也许它可以被优化,因为它目前有点复制,可能会运行很多;在我的笔记本电脑上用了22000次提交的OpenTTD存储库只用了不到10分钟。

(另请查看templatesfilesgrep上的hg帮助