与此链接类似,但用于 mercurial。我想找到对我的 mercurial 存储库的大小贡献最大的文件。
我打算使用 hg convert 创建一个新的、更小的存储库。我只是不确定哪些文件会影响存储库的大小。它们可能是已被删除的文件。
在存储库历史中的任何地方找到这些的好方法是什么?有超过 20,000 个提交。我正在考虑一个powershell脚本,但我不确定最好的方法是什么。
与此链接类似,但用于 mercurial。我想找到对我的 mercurial 存储库的大小贡献最大的文件。
我打算使用 hg convert 创建一个新的、更小的存储库。我只是不确定哪些文件会影响存储库的大小。它们可能是已被删除的文件。
在存储库历史中的任何地方找到这些的好方法是什么?有超过 20,000 个提交。我正在考虑一个powershell脚本,但我不确定最好的方法是什么。
检查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 分钟。
(同时检查 hg 帮助templates
,files
和grep
)