2008-11-02 17 views
6

Estamos utilizando Subversion. Nos gustaríaSVN - Recuperando información útil

1. search across all commit messages ? 
2. monitor the commits on certain important files ? 
3. identify files that are never/rarely used ? 
4. identify files that are most frequently changed ?   
5. identify files that most developers have accessed ? 
6. identify files that have been committed together many number of times ? 

El uso de estos datos podría ser para eliminar a los mensajes como these, refactorizar código y limpiar el proyecto de archivos no utilizados.

Para sugerir herramientas para lograr el mismo ..

EDIT: Corremos SVN en Windows 2003.

Respuesta

3

Otra herramienta que vale la pena mirar es ViewVC. La última versión tiene la opción de mantener una base de datos de compromiso. Esto le permite buscar en todos los mensajes de confirmación y ver una lista de cambios a un archivo o a los archivos en un directorio filtrado por usuario, hora o expresión regular. También es compatible con canales RSS que permitirían alguna forma de notificación a archivos individuales.

Para 3, 4 y 5 en su lista StatSVN que se menciona en las otras respuestas debería ser capaz de hacer esto. Para una solución comercial, hay FishEye de Atlassian.

En nuestro repositorio utilizamos una combinación de ViewVC y StatSVN, la primera utilizada para la búsqueda de repositorio y búsqueda de mensajes de confirmación con esta última para ver estadísticas.

1

¿En qué plataforma está usando? En Linux, un script de shell rápido usando sed debería ser el truco.

+0

Utilizamos SVN en windows. ¿Puedes indicarnos cómo usar sed para obtener esta información? –

1

En .NET land, existe la biblioteca SharpSvn que puede usar. Sin embargo, para lograr lo que desea, tendrá que asimilar todos los mensajes de registro y analizarlos usted mismo.

5

StatSVN debería ser capaz de hacer la mayor parte de eso para usted. Sin embargo, deberá configurar una tarea programada para ejecutarla en su repositorio, o puede integrarla en una compilación Ant si la usa.

Algunas de las tareas más complejas, como el número 6 en su lista, probablemente requieran una solución personalizada, sin embargo. Alternativamente, como StatSVN es de código abierto, puede realizar los cambios necesarios y enviarlos nuevamente al proyecto.

1

Puede hacer muchas cosas con el cliente de la línea de comandos de Subversion y algunos scripts (Ruby o Python), pero no espere que las personas aquí escriban el código por usted. Los detalles de la implementación dependerán de la frecuencia con la que desee ejecutar las estadísticas y de su repositorio.

Al procesar los datos del cliente de la línea de comandos de Subversion, puede resultarle más fácil usar la opción --xml (aceptada por los comandos "log" e "info") que genera los datos en formato XML.

1. search across all commit messages ? 

Ejecutar "svn log -v --xml" y ejecutar una búsqueda de texto en el XML resultante (o partes de ella). Puede especificar qué conjunto de mensajes de confirmación desea buscar.

2. monitor the commits on certain important files ? 

Esto se implementa con commit-triggers. Ver la documentación del servidor de Subversion.

3. identify files that are never/rarely used ? 
4. identify files that are most frequently changed ?   
5. identify files that most developers have accessed ? 
6. identify files that have been committed together many number of times ? 

todos estos pueden ser implementadas utilizando la salida de "svn log --xml" y post-procesamiento de los datos XML resultantes.

Cuestiones relacionadas