Encontrar los files más comúnmente editados en clearcase

Actualmente estamos planificando un ejercicio de mejora de la calidad y me gustaría enfocarme en los files más comúnmente editados en nuestros vobs. Dado que acabamos de pasar por una fase de reparación de errores, los files más comúnmente editados deberían dar una buena indicación de dónde está el código más propenso a errores, y por lo tanto, el más necesitado de mejora de calidad.

¿Alguien sabe si hay una forma de get una list de los 100 mejores files editados? Preferiblemente, esto cubriría ediciones que están sucediendo en múltiples twigs.

(La respuesta anterior era para un caso más simple: una sola twig )

Dado que "la mayoría de los desarrolladores de proyectos no han pasado todos en una twig, por lo que los numbers de versión no significan necesariamente más editados", una "forma de get el número de confirmaciones en todas las sucursales" sería:

  • search todas las versiones creadas desde la date de la última fase de reparación de errores,
  • orderarlos por file,
  • luego por ocurrencia.

Algo como:

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 

O bien, para la syntax de 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 
  • reemplace la date por la de la label que marca el inicio de su fase de reparación de errores
  • Nuevamente, tenga en count las comillas dobles alnetworkingedor del ' %CLEARCASE_XPN% ' para acomodar espacios dentro de los nombres de file.
  • Aquí, se usa ' %CLEARCASE_XPN% ' en lugar de ' %CLEARCASE_PN% ' porque necesitamos todas las versiones.
  • grep -v "/0" está aquí para excluir la versión 0 ( /main/0 , /main/myBranch/0 , …)
  • awk -F ~ "{print $1}" se usa para imprimir solo la primera parte de cada línea:
    C:\Prog\cc\test\test\a.txt~\main\mybranch\2 convierte en C:\Prog\cc\test\test\a.txt
  • A partir de ahí, el recuento y la sorting pueden comenzar:
    • sort para asegurarse de que cada línea idéntica esté agrupada
    • uniq -c para eliminar las líneas duplicadas y preceder a cada línea restante con un recuento de dichos duplicates
    • sort -rn (u sort /R para Windows) por tener los files más editados en la parte superior
    • head -100 para mantener solo los 100 files más editados.

Una vez más, GnuWin32 será útil para la versión de Windows del one-liner.

(Ver respuesta para casos más complicados: twigs múltiples )

Primero, use una vista dinámica: más fácil y más rápido para actualizar su contenido y jugar con sus reglas de configuration de especificaciones.

Si la corrección de errores se ha realizado en una twig, comenzando desde una label determinada, configure una vista dinámica con las siguientes especificaciones de configuration como:

 element * .../MY_BRANCH/LATEST element * MY_STARTING_LABEL element * /main/LATEST 

A continuación, encontrará todos los files, con su número de versión actual (estrechamente relacionado con el número de ediciones)

 ct find . -type f -exec "cleartool desc -fmt """%Ln\t\t%En\n""" """%CLEARCASE_PN%""""|sort /R|head -100 

Esta es la syntax de Windows (nothe el triple "comillas dobles" alnetworkingedor de %CLEARCASE_PN% para acomodar espacios dentro de los nombres de file.

el command ' head ' proviene de la biblioteca GnuWin32 .
La versión más editada se encuentra en la parte superior de la list.

Una versión de Unix sería:

 $ ct find . -type f -exec 'cleartool desc -fmt "%Ln\t\t%En\n" "$CLEARCASE_PN"' | sort -rn | head -100 

La versión más editada estaría en la parte superior.

No olvide que para las métricas, los numbers en bruto no son suficientes, las tendencias también son importantes .