2015-12-14 16 views
6

this linkと似ていますが、水銀の場合。私は、私の水銀のリポジトリのサイズに最も貢献しているファイルを探したいと思います。Mercurialリポジトリの大きなファイルの検索

私はhg convertを使用して、より小さな新しいリポジトリを作成します。私はまだどのファイルがリポジトリのサイズに貢献しているのか分かりません。すでに削除されているファイルである可能性があります。

リポジトリ履歴のどこからでもこれらを見つけるには良い方法はありますか?コミット数は2万を超えています。私はPowerShellのスクリプトを考えていますが、これについての最良の方法は何か分かりません。

答えて

7

チェックhg help fileset。何かのように

hg files "set:size('>1M')" 

あなたのためのトリックを行う必要があります。すべてのリビジョンを操作する必要があるかもしれませんが、1つのリビジョンでのみ動作します。 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 

このトリックを行う可能性があります。たぶん、それは現在、少し重複しているので、かなり最適化することができます。 OpenTTDのリポジトリに22000のコミットがあったので、ノートパソコンは10分足らずでした。

驚異を働かせること、

+1

おかげで(またtemplatesfilesgrepにHGヘルプを確認してください)。私は窓を使用しています。完全性のために、powershellスクリプトは 'hg log -r" all() "" set:size( '> 1024k') "--template =" {rev} \ n "| Foreach {hgファイル-r $ _ "set:size( '> 1024k')" >> results.txt; get-content results.txt | ソート| get-unique> results2.txt; Remove-Item results.txt; ( '> 1024k') "--template ="結果セット2.txt results.txt} "となり、batファイルは'/h% "(結果セット>サイズ: '> 1024k')>> results.txt'(ソート/フィルタリングはしません) – Michael

関連する問題