我正在进入一个新的代码库,目的是让它更稳定。我正在努力确定的是代码中大部分动荡的地方。
我正在寻找一种方法,我可以找到存储库中的哪些文件经常被更改,以便我可以提出一些重构的起点。似乎没有内置的Mercurial命令,谷歌似乎也没有多少提供(或者我使用了错误的术语。)
目前想到的只是编写一个脚本来解析hg log -v
命令中的'files:'行并手动计算文件。这将有效,但如果我是第一个必须这样做的人,我会非常惊讶。
答案 0 :(得分: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
这显示了21个chngesets触及templates/base.html
,这是我最小的回购。
答案 1 :(得分:0)
我建议以相反的方式行动
hg log FILENAME --template "+" | wc -m
答案 2 :(得分: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
调用。