在Mercurial存储库中查找大型文件

在Mercurial存储库中查找大型文件,mercurial,mercurial-convert,Mercurial,Mercurial Convert,类似于但适用于mercurial。我想找到对mercurial存储库的大小影响最大的文件 我打算使用hgconvert创建一个新的、更小的存储库。我只是不确定哪些文件会影响存储库的大小。它们可能是已经删除的文件 在存储库历史记录中的任何位置查找这些内容的好方法是什么?有2万多人提交。我正在考虑使用powershell脚本,但我不确定最好的方法是什么。检查hg help fileset。差不多 hg files "set:size('>1M')" for i in `hg log -r"a

类似于但适用于mercurial。我想找到对mercurial存储库的大小影响最大的文件

我打算使用hgconvert创建一个新的、更小的存储库。我只是不确定哪些文件会影响存储库的大小。它们可能是已经删除的文件


在存储库历史记录中的任何位置查找这些内容的好方法是什么?有2万多人提交。我正在考虑使用powershell脚本,但我不确定最好的方法是什么。

检查
hg help fileset
。差不多

hg files "set:size('>1M')"
for i in `hg log -r"all()" "set:size('>400k')" --template="{rev}\n"`; do hg files -r$i "set:size('>400k')"; done | sort | uniq
我应该为你做这件事。您可能需要对所有修订进行操作,尽管它只对一个修订进行操作。在bash中,我会尝试类似

hg files "set:size('>1M')"
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分钟的时间


(还可以查看有关
模板
文件
grep
的hg帮助)

谢谢,效果非常好。我正在使用windows。为了完整性起见,powershell脚本是
hg log-r“all()”“set:size('>1024k')”--template=“{rev}\n”| Foreach{hg files-r$|”set:size('>1024k')”>>results.txt;get content results.txt | sort | get unique>results2.txt;删除Item results.txt;移动Item results.txt results.txt
,bat文件将是/F%i中的
('hg log-r“all()”“set:size('>1024k')”--template=“{rev}\n”')DO hg files-r%i“set:size('>1024k')”>>results.txt
(但它不排序/筛选)