我們目前正在計劃一個質量改進練習,我希望針對我們的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