Nombre

svn log — Muestra los mensajes de los informes de cambios.

Sinopsis

svn log [PATH]
svn log URL [PATH...]

Descripción

El objetivo por defecto es la ruta de su directorio actual. Si no proporciona parámetro alguno, svn log muestra los mensajes de los informes de cambios de todos los ficheros y directorios dentro del (e incluyendo) directorio actual de trabajo en su copia local. Puede refinar los resultados especificando una ruta, una o más revisiones, o cualquier combinación de ambas. El rango de revisión por defecto para una ruta local es BASE:1.

Si especifica una URL sola, entonces imprime los mensajes de los informes de cambios para todo lo que contenga esa URL. Si añade rutas tras la URL, sólo los mensajes de esas rutas bajo esa URL serán mostrados. El rango de revisión por defecto de una URL es HEAD:1.

Con --verbose, svn log también mostrará todas las rutas afectadas por cada mensaje de informe de cambios. Con --quiet, svn log no mostrará el cuerpo del mensaje del informe de cambios (esto es compatible con --verbose).

Cada mensaje de informe de cambios es impreso una única vez, incluso si solicitó de forma explícita más de una ruta afectadas por la misma revisión. Por defecto se sigue la historia de copiado de los ficheros. Use --stop-on-copy para desactivar este comportamiento, lo cual puede ser útil para encontrar puntos de creación de ramas.

Nombres alternativos

Ninguno

Cambios

Ninguno

Accede al repositorio

Si

Parámetros

--revision (-r) REV
--quiet (-q)
--verbose (-v)
--targets FILENAME
--stop-on-copy
--incremental
--xml
--username USER
--password PASS
--no-auth-cache
--non-interactive
--config-dir DIR

Ejemplos

Puede ver los mensajes de informes de cambios para todas las rutas que fueron modificadas en su copia local ejecutando svn log:

$ svn log
------------------------------------------------------------------------
r20 | harry | 2003-01-17 22:56:19 -0600 (Fri, 17 Jan 2003) | 1 line

Tweak.
------------------------------------------------------------------------
r17 | sally | 2003-01-16 23:21:19 -0600 (Thu, 16 Jan 2003) | 2 lines
…

Examinar todos los mensajes de informes de cambios para un fichero particular de su copia local de trabajo:

$ svn log foo.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 00:43:13 -0600 (Mon, 13 Jan 2003) | 1 line

Added defines.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…

Si no tiene a mano una copia local, puede obtener los mensajes de informes de cambios a partir de una URL:

$ svn log http://svn.red-bean.com/repos/test/foo.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 00:43:13 -0600 (Mon, 13 Jan 2003) | 1 line

Added defines.
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…

Si quiere usar varias rutas distintas bajo una misma URL, puede usar la sintaxis URL [PATH...].

$ svn log http://svn.red-bean.com/repos/test/ foo.c bar.c
------------------------------------------------------------------------
r32 | sally | 2003-01-13 00:43:13 -0600 (Mon, 13 Jan 2003) | 1 line

Added defines.
------------------------------------------------------------------------
r31 | harry | 2003-01-10 12:25:08 -0600 (Fri, 10 Jan 2003) | 1 line

Added new file bar.c
------------------------------------------------------------------------
r28 | sally | 2003-01-07 21:48:33 -0600 (Tue, 07 Jan 2003) | 3 lines
…

Eso es igual que poner de forma explícita ambas URLs en la línea de comando:

$ svn log http://svn.red-bean.com/repos/test/foo.c \
          http://svn.red-bean.com/repos/test/bar.c
…

Cuando concatene los resultados de múltiples llamadas al comando log, quizás desee usar el parámetro --incremental. svn log normalmente imprime una línea de guiones al comienzo de cada mensaje de informe de cambios, entre mensajes, y después el último. Si ejecuta svn log sobre un rango de dos revisiones, obtendría esto:

$ svn log -r 14:15
------------------------------------------------------------------------
r14 | ... 

------------------------------------------------------------------------
r15 | ... 

------------------------------------------------------------------------

No obstante, si quisiese recoger dos mensajes de informes de cambios no secuenciales en un mismo fichero, podría hacer algo como esto:

$ svn log -r 14 > mylog
$ svn log -r 19 >> mylog
$ svn log -r 27 >> mylog
$ cat mylog
------------------------------------------------------------------------
r14 | ... 

------------------------------------------------------------------------
------------------------------------------------------------------------
r19 | ... 

------------------------------------------------------------------------
------------------------------------------------------------------------
r27 | ... 

------------------------------------------------------------------------

Puede evitar la duplicidad de líneas de guiones en la salida usando el parámetro incremental:

$ svn log --incremental -r 14 > mylog
$ svn log --incremental -r 19 >> mylog
$ svn log --incremental -r 27 >> mylog
$ cat mylog
------------------------------------------------------------------------
r14 | ... 

------------------------------------------------------------------------
r19 | ... 

------------------------------------------------------------------------
r27 | ... 

El parámetro --incremental proporciona un control de la salida similar cuando usa el parámetro --xml.

[Sugerencia] Sugerencia

Si ejecuta svn log sobre una ruta específica e indica una revisión específica pero no obtiene ninguna salida en absoluto

$ svn log -r 20 http://svn.red-bean.com/untouched.txt
------------------------------------------------------------------------

Eso sólo significa que esa ruta no fue modificada en esa revisión. Si ejecuta estos comandos desde la raíz del repositorio, o sabe qué fichero cambió en aquella revisión, puede especificarlo de forma explícita:

$ svn log -r 20 touched.txt 
------------------------------------------------------------------------
r20 | sally | 2003-01-17 22:56:19 -0600 (Fri, 17 Jan 2003) | 1 line

Made a change.
------------------------------------------------------------------------