与this link类似,但对于mercurial。我想找到最有助于我的mercurial存储库大小的文件。
我打算使用hg convert来创建一个新的,更小的存储库。我只是不确定哪些文件对存储库大小有贡献。它们可能是已被删除的文件。
在存储库历史记录中的任何位置找到这些内容的好方法是什么?有超过20,000个提交。我正在考虑使用PowerShell脚本,但我不确定最好的方法是什么。
答案 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分钟。
(另请查看templates
,files
和grep
上的hg帮助