Version control 在clearcase中查找最常用的编辑文件

Version control 在clearcase中查找最常用的编辑文件,version-control,refactoring,clearcase,Version Control,Refactoring,Clearcase,我们目前正在计划一项质量改进活动,我想针对clearcase VOB中最常用的编辑文件。由于我们刚刚经历了一个bug修复阶段,最常用的编辑文件应该能够很好地指出最容易出现bug的代码所在的位置,因此最需要改进质量 有人知道有没有办法获得编辑次数最多的前100名文件?最好包括在多个分支上进行的编辑。(参见答案) 首先,使用动态视图:更新内容和修改配置规范规则更容易、更快 如果在分支中进行了bug修复,则从给定标签开始,使用以下配置规范设置动态视图: element * .../MY_BRANCH/

我们目前正在计划一项质量改进活动,我想针对clearcase VOB中最常用的编辑文件。由于我们刚刚经历了一个bug修复阶段,最常用的编辑文件应该能够很好地指出最容易出现bug的代码所在的位置,因此最需要改进质量

有人知道有没有办法获得编辑次数最多的前100名文件?最好包括在多个分支上进行的编辑。

(参见答案)

首先,使用动态视图:更新内容和修改配置规范规则更容易、更快

如果在分支中进行了bug修复,则从给定标签开始,使用以下配置规范设置动态视图:

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%
    ”,因为我们需要每个版本
  • 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
  • 从这里开始,可以开始计数和排序:
    • 排序
      以确保对每个相同的行进行分组
    • uniq-c
      删除重复的行,并在剩余的每行前面加上所述重复的计数
    • sort-rn
      (或Windows的
      sort/R
      ),以使编辑最多的文件位于顶部
    • head-100
      用于仅保留编辑次数最多的100个文件

同样,GnuWin32对于Windows版本的one liner也很有用。

我很喜欢你的答案,但与大多数项目一样,开发人员并非都在一个分支上进行,因此版本号不一定意味着编辑的最多。有没有办法获得所有分支的签入次数?我将在今晚晚些时候更新我的答案多分支计数的更新(实际添加)