1

より安定させることを意図して、新しいコードベースに飛び込んでいます。私が判断するのに苦労しているのは、乱気流のほとんどがコードのどこにあるかということです。

リファクタリングの開始点を見つけることができるように、リポジトリ内のどのファイルが最も頻繁に変更されているかを見つける方法を探しています。このための Mercurial コマンドが組み込まれているようには見えませんし、Google もあまり提供していないようです (または、私が間違った用語を使用しています)。

現時点で頭に浮かぶのは、hg log -vコマンドの「files:」行を解析してファイルを手動でカウントするスクリプトを作成することだけです。これはうまくいきますが、もし私がこれをしなければならなかった最初の人だったら、私は非常に驚くでしょう.

4

3 に答える 3

2

これはそれを行います:

 hg log --template "{files % '{file}\n'}" | sort | uniq -c | sort -rn
     21 templates/base.html
     19 TODO
      8 content/about.rst
      6 static/screen.css

templates/base.htmlこれは、私の小さなレポのほとんどである21 chngesets touch を示しています。

于 2013-02-07T15:42:09.520 に答える
0

反対方向に移動することをお勧めします

  1. ファイルのリストを取得する
  2. p.1のすべてのファイルに対して、次のようなものを実行します。hg log FILENAME --template "+" | wc -m
于 2013-02-07T15:44:18.343 に答える
0

古い Mercurial インストールで動作するバージョンは次のとおりです。

$ hg grep --files-with-matches --all . | cut -d : -f 1 | sort | uniq -c | sort -rn
 21 templates/base.html
 19 TODO
  8 content/about.rst
  6 static/screen.css

ファイル名にコロンが含まれている場合は、呼び出しも追加--print0して変更する必要があります。cut

于 2013-02-08T01:43:25.350 に答える