2008-10-20 32 views
11

Duplicar posible:
History of changes to a particular line of code in Subversion?¿Es posible ver el historial de una línea en SVN?

Usando SVN y/o Tortoise SVN (o cualquier otra herramienta SVN, en realidad), es posible ver el historial de una línea específica de una ¿archivo?

Recientemente he tenido varios casos de venir a través de una línea en un archivo y el deseo de encontrar la entrada de registro asociado con su creación (ya sea para determinar la antigüedad de la línea de código era, o para obtener un contexto más amplio de por qué fue agregado).

Ahora estoy haciendo esto a mano. Puedo mostrar el registro del archivo, retroceder un poco, y ver si la línea en cuestión está presente. Si es así, retrocederé más. Si no es así, voy a ver una revisión más reciente. Repita hasta que se encuentre la revisión donde se realizó el cambio.

No hace falta decir que este proceso es incómodo en el mejor de los casos, especialmente para archivos especialmente antiguos. ¿Alguien sabe de un método automatizado para lograr esto?

Respuesta

0

svn blame

+0

o svn anotar, o svn elogio. Todo depende del estado de ánimo. ;-) – JesperE

+6

Esto no le permite ver el historial de una línea a lo largo del tiempo, solo quién la cambió la última vez antes de la revisión de destino. –

+1

esto es útil, pero no una respuesta a la pregunta. –

1

uso de la opción del menú contextual TortoiseSVN culpa - que tiene una muy buena interfaz para explorar la historia de las líneas individuales.

2

Más específicamente, puede usar "svn culpa" con algunos argumentos para ver las revisiones específicas. Eso puede ser grande por archivo ... svn blame -r REV#

iterar a través de revisiones múltiples (si trabaja desde la línea de comandos) es un script rápido.

+0

guión rápido por favor! Podría hacerlo yo mismo pero nunca dejas de mirar el código de otras personas ... – Ken

1

Prefiero usar svn annotate sobre svn blame. Ojalá otros lo hicieran también. :-(

4

No estoy seguro de culpa solo hace lo que las necesidades de Asker.

he encontrado los TortoiseSVN comando "cambios culpa" de ser práctico. Se ejecuta una culpa en dos revisiones y los compara entre sí en el . herramienta de diferencias

el resultado le da lo que la línea actualmente es, de lo que era en la revisión focalizada, y quién lo ha modificado. esto funciona mejor cuando se selecciona dos revisiones consecutivas.

usted puede acceder a este mediante el uso de "Mostrar registro", haga clic derecho en el archivo en el panel inferior y seleccione "cambios de culpa".

Además, para cualquier persona que no le gusta el término "culpa", puede ejecutar "svn elogio", que da los mismos resultados. :)

Cuestiones relacionadas