2009-08-31 12 views
6

Me gustaría poder ver las líneas de código total de alguien que contribuyeron a nuestra aplicación. Supongamos que la aplicación tiene 10k de líneas de código, me gustaría ver el desglose de la cantidad de LOC que cada desarrollador se ha comprometido con el repositorio. ¿Hay algo para que SubVersion obtenga este tipo de información?¿Cómo determinar la contribución total de un desarrollador a SubVersion?

+0

Solo por curiosidad ... ¿por qué quieres contar las líneas de código? –

+0

Tengo curiosidad acerca de la contribución de ciertos desarrolladores al proyecto. – swilliams

+0

Ok. Solo tenga en cuenta que LOC es muy general. Puede tener un desarrollador más experimentado que comprima algo desde 15 líneas hasta 5 ... algo que debe tener en cuenta. –

Respuesta

5

Hay MPY SVN STATS y también StatSVN si no recuerdo mal que debería hacer lo que quiera y mucho más.

No creo que se pueda hacer con tortoisesvn todas las herramientas que conozco son herramientas de línea de comandos y me temo que algunas de ellas son herramientas de Linux.

+1

Siempre que pueda ejecutar las herramientas de línea de comandos a través de cygwin, no sería un problema. Voy a tomar otro ganso en StatsSVN sin embargo. – swilliams

+0

Parece que StatSVN (solo 2 s) hizo lo que necesitaba. ¡Gracias! – swilliams

2

svn blame puede comenzar, anteponiendo el nombre del autor a cada línea de código fuente.

Su salida de ejemplo se

 
$ svn blame http://svn.red-bean.com/repos/test/readme.txt 
    3  sally This is a README file. 
    5  harry You should read this. 

por lo que podría hacer algo como

cat ./*blamed | awk '{print $2}' | sort | uniq -c 

en un archivo formado como

 
$ cat b.txt 
3 Mark asdf 
3 Mark asdf 
3 Bill fdas 
4 Bill fdas 
5 Fred fdfd 

para obtener una salida como

$ cat b.txt | awk '{print $2}' | sort | uniq -c 
     2 Bill 
     1 Fred 
     2 Mark 

... pero probablemente exista una manera más clara de hacerlo que eso.

+0

¿Eso solo es para un solo archivo? Me gustaría algo para un proyecto completo. – swilliams

+0

La página dice que 'svn culpa' funciona para" los archivos especificados ", así que supongo que puede especificar tantos archivos como desee. No tengo svn aquí, así que no puedo probarlo. –

Cuestiones relacionadas