8

このリンクに似ていますが、mercurial 用です。Mercurial リポジトリのサイズに最も影響を与えているファイルを見つけたいです。

hg convert を使用して、新しい小さなリポジトリを作成するつもりです。どのファイルがリポジトリのサイズに寄与しているかはまだわかりません。それらは、すでに削除されたファイルである可能性があります。

リポジトリ履歴のどこかでこれらを見つける良い方法は何ですか? 20,000 件以上のコミットがあります。私はpowershellスクリプトを考えていますが、これを行う最善の方法がわかりません.

4

1 に答える 1

10

確認してください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

トリックを行うかもしれません。現在は少し重複しており、かなりの時間実行される可能性があるため、最適化できる可能性があります。22000 件のコミットがある OpenTTD リポジトリでは、私のラップトップで 10 分足らずで完了しました。

templates( 、filesおよびのhg ヘルプも確認してくださいgrep)

于 2015-12-14T23:58:46.547 に答える