我们目前正在计划一个质量改进练习,我希望针对我们的clearcase vob中最常见的编辑文件。由于我们刚刚完成了一个错误修复阶段,所以最常编辑的文件应该能够很好地说明最容易出错的代码在哪里,因此最需要提高质量。找到最清晰编辑的文件
有谁知道是否有一种方法可以获得大多数编辑文件的前100名单?最好这将覆盖发生在多个分支上的编辑。
我们目前正在计划一个质量改进练习,我希望针对我们的clearcase vob中最常见的编辑文件。由于我们刚刚完成了一个错误修复阶段,所以最常编辑的文件应该能够很好地说明最容易出错的代码在哪里,因此最需要提高质量。找到最清晰编辑的文件
有谁知道是否有一种方法可以获得大多数编辑文件的前100名单?最好这将覆盖发生在多个分支上的编辑。
(以前的答案是为simpler case: single branch)
因为“大多数项目开发还没有全部上一个分支发生这样的版本号并不一定意味着大多数编辑”,一“的方式获得的数签入所有分支”将是:
线沿线的东西:
C:\Prog\cc\test\test>ct find -all -type f -ver "created_since(16-Oct-2009)" -exec "cleartool descr -fmt """%En~%Sn\n""""""%CLEARCASE_XPN%"""" | grep -v "\\0" | awk -F ~ "{print $1}" | sort | uniq -c | sort /R | head -100
或者,对于Unix语法:
$ ct find -all -type f -ver 'created_since(16-Oct-2009)' -exec 'cleartool descr -fmt "%En~%Sn\n" "%CLEARCASE_XPN%"' | grep -v "/0" | awk -F ~ '{print $1}' | sort | uniq -c | sort -rn | head -100
%CLEARCASE_XPN%
'周围的双引号以适应文件中的空格名。%CLEARCASE_XPN%
'而不是'%CLEARCASE_PN%
',因为我们需要每个版本。grep -v "/0"
在这里要排除版本0(/main/0
,/main/myBranch/0
,...)awk -F ~ "{print $1}"
只用于打印每行的第一部分:C:\Prog\cc\test\test\a.txt~\main\mybranch\2
成为C:\Prog\cc\test\test\a.txt
sort
以确保每个相同的线路进行分组uniq -c
删除重复的行的所述用于具有最编辑的文件在顶部head -100
仅用于保持100页最编辑的文件重复sort -rn
(或sort /R
用于Windows)d可以先于每个剩余行以计数。再次,将的GnuWin32派上用场的Windows版本的一个衬垫。
(见more complicated case: multiple branches答案)
首先,使用动态视图:更容易和更快,其配置规范规则,以更新其内容和小提琴。
如果你的bug修复已经在分支已经取得,从给定的标签开始,建立一个动态的观点有以下配置规格为:
element * .../MY_BRANCH/LATEST
element * MY_STARTING_LABEL
element * /main/LATEST
然后你会发现所有的文件,用自己当前版本号(密切相关的编辑的数量)
ct find . -type f -exec "cleartool desc -fmt """%Ln\t\t%En\n""" """%CLEARCASE_PN%""""|sort /R|head -100
这是为了在文件名中的容纳空间在Windows语法(nothe三联“双引号”周围%CLEARCASE_PN%
。
'head
'命令来自GnuWin32库。
最编辑的版本位于列表的顶部。
一个Unix版将是:
$ ct find . -type f -exec 'cleartool desc -fmt "%Ln\t\t%En\n" "$CLEARCASE_PN"' | sort -rn | head -100
最编辑后的版本将在顶部。
不要忘记,对于指标,原始数字是不够的,trends are important too。
我真的很喜欢你的答案,但是与大多数项目一样,dev并没有发生在一个分支上,所以版本号码没有必然意味着编辑最多。是否有办法获得所有分支机构的签到数量? – 2009-10-16 13:50:04
我会在今晚晚些时候更新我的答案 – VonC 2009-10-16 14:46:48
多分支计数已更新(实际上已添加) – VonC 2009-10-16 22:54:04