Version control 在clearcase中查找最常用的编辑文件
我们目前正在计划一项质量改进活动,我想针对clearcase VOB中最常用的编辑文件。由于我们刚刚经历了一个bug修复阶段,最常用的编辑文件应该能够很好地指出最容易出现bug的代码所在的位置,因此最需要改进质量 有人知道有没有办法获得编辑次数最多的前100名文件?最好包括在多个分支上进行的编辑。(参见答案) 首先,使用动态视图:更新内容和修改配置规范规则更容易、更快 如果在分支中进行了bug修复,则从给定标签开始,使用以下配置规范设置动态视图:Version control 在clearcase中查找最常用的编辑文件,version-control,refactoring,clearcase,Version Control,Refactoring,Clearcase,我们目前正在计划一项质量改进活动,我想针对clearcase VOB中最常用的编辑文件。由于我们刚刚经历了一个bug修复阶段,最常用的编辑文件应该能够很好地指出最容易出现bug的代码所在的位置,因此最需要改进质量 有人知道有没有办法获得编辑次数最多的前100名文件?最好包括在多个分支上进行的编辑。(参见答案) 首先,使用动态视图:更新内容和修改配置规范规则更容易、更快 如果在分支中进行了bug修复,则从给定标签开始,使用以下配置规范设置动态视图: element * .../MY_BRANCH/
element * .../MY_BRANCH/LATEST
element * MY_STARTING_LABEL
element * /main/LATEST
然后找到所有文件及其当前版本号(与编辑次数密切相关)
这是Windows语法(不是围绕%CLEARCASE\u PN%
的三重“双引号”),以容纳文件名中的空格
“head
”命令来自库。编辑最多的版本位于列表顶部 Unix版本将是:
$ ct find . -type f -exec 'cleartool desc -fmt "%Ln\t\t%En\n" "$CLEARCASE_PN"' | sort -rn | head -100
编辑最多的版本将位于顶部
不要忘记,对于度量,原始数字是不够的。(前面的答案是a)
由于“大多数项目开发并非都发生在一个分支上,因此版本号不一定意味着编辑最多”,因此“获取所有分支的签入数的方法”应该是:
$ ct find . -type f -exec 'cleartool desc -fmt "%Ln\t\t%En\n" "$CLEARCASE_PN"' | sort -rn | head -100
- 搜索自上次错误修复阶段之日起创建的所有版本
- 按文件排序
- 然后发生了
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
- 用标记bug修复阶段开始的标签之一替换日期
- 同样,请注意“
”周围的双引号,以容纳文件名中的空格%CLEARCASE\u XPN%
- 这里使用的是“
”而不是“%CLEARCASE\u XPN%
”,因为我们需要每个版本%CLEARCASE\u PN%
在此排除版本0(grep-v”/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
- 从这里开始,可以开始计数和排序:
以确保对每个相同的行进行分组排序
删除重复的行,并在剩余的每行前面加上所述重复的计数uniq-c
(或Windows的sort-rn
),以使编辑最多的文件位于顶部sort/R
用于仅保留编辑次数最多的100个文件head-100
同样,GnuWin32对于Windows版本的one liner也很有用。我很喜欢你的答案,但与大多数项目一样,开发人员并非都在一个分支上进行,因此版本号不一定意味着编辑的最多。有没有办法获得所有分支的签入次数?我将在今晚晚些时候更新我的答案多分支计数的更新(实际添加)