2010-01-15 22 views
12

Tengo un poco de código para el que me gustaría ver el historial de revisiones. En el archivo de ejemplo, la línea 300 contiene algo "interesante". ¿Cómo puedo usar svn para ver cuándo se ha cambiado esa línea y revisar los comentarios de svn relacionados con el cambio de esa línea? (Tenga en cuenta que las revisiones previas de ese archivo probablemente no tengan mi línea de interés en la línea 300).svn: ¿Cómo determino la última vez que se modificó una determinada línea?

Respuesta

15

Puede usar el comando blame de SVN. Esto imprimirá los números de autor y revisión por línea para el objetivo especificado. Una vez que tenga el número de revisión puede revisar el troncos y otros cambios asociados con el uso de esa revisión log, etc. cometen

+6

También conocido como svn annotate, si te sientes menos vengativo. (O su jefe escribió el código y está mirando por encima del hombro.) – jmanning2k

2

Existe la herramienta "svn culpa" para eso.

+2

Mejor comando nunca! Excepto cuando aparece mi nombre ... – RedFilter

+3

También tienen un alias de "svn elogio", ¿quizás te convenga más si tienes un mal presentimiento? ;) – kusma

1

svn blame filename

luego buscar en el registro de la revisión en la que se ha cambiado.

0

Como otros ya han mencionado, se puede utilizar:

svn annotate filename 

para mostrar cuando esa línea fue modificado por última vez. Sin embargo, tenga cuidado, ya que eso mostrará la última vez que se modificó algo en esa línea. Por lo tanto, si el código se movió en el archivo, se borra de un lugar y se pega en otro lugar, se mostrará cuando se movió la línea, no necesariamente cuando se modificó. Lo mismo ocurre si la línea se movió dentro o fuera de un ciclo o una instrucción if.

+0

Anotar suena mejor que culpar. Al menos por lo que necesitaba en ese momento. :-) – Les

4

svn blame -v filename. Verbosa da el número de revisión, el nombre y la fecha

2
svn [praise|annotate|blame] filename 

le da el número de versión y el último escritor o editor.

svn [praise|annotate|blame] -v filename 

le dará información adicional. si ha fusionado la rama, en este caso

svn blame -g filename 

se debe utilizar el siguiente comando para conocer todas las opciones disponibles

svn blame --help 
Cuestiones relacionadas