2012-05-09 14 views
8

Me gustaría sumar el número de cambios de línea en una rama SVN para poder decir cuánto he avanzado durante un proyecto desde otro lado y estimar la probabilidad de conflicto cuando lo fusiono con trunk.¿Cómo contar la cantidad de líneas modificadas o agregadas en una rama SVN?

La forma en que se me ocurre es tomar la diff unificada y hacer algunos grep | wc -l hacks, pero el problema es que es difícil separar diferentes tipos de archivos, por ejemplo, archivos fuente frontales (.css, .html) y los archivos de origen back-end (.xml, .java)

+2

Hay una forma mucho mejor de hacerse una idea de los posibles conflictos: opción '--dry-run'. –

Respuesta

12

cosidering beginRev como la revisión inicial del conjunto de cambios que desea medir y endrev como la revisión final:

svn diff --summarize -rbeginRev:endRev <URLtoBranch> 

Esto le dará a la salida de los archivos añadidos, eliminados y modificados.

me quieres más nivel de detalles se puede analizar la salida de svn diff través diffstat:

svn diff -rbeginRev:endRev <URLtoBranch> | diffstat 

Esto devolverá un histograma de los cambios con la información para cada archivo, y un resumen de los archivos cambiados, líneas añadido y eliminado

+0

No sé si está claro por el ejemplo de Diego, pero cuando probé esto, necesitaba usar la URL local como no la url en el repositorio remoto. – ganime

4

StatSVN podría ser lo que está buscando. Lo usé hace un tiempo brevemente y me pareció bueno darles a los desarrolladores su opinión. No estoy seguro de si le dará exactamente lo que necesita, pero podría valer la pena echarle un vistazo.

Cuestiones relacionadas