Nombre

svn diff — Muestra las diferencias entre dos rutas.

Sinopsis

svn diff [-r N[:M]] [--old OLD-TGT] [--new NEW-TGT] [PATH...]
svn diff -r N:M URL
svn diff [-r N[:M]] URL1[@N] URL2[@M]

Descripción

Muestra las diferencias entre dos rutas. Puede usar svn diff de tres modos diferentes:

svn diff [-r N[:M]] [--old OLD-TGT] [--new NEW-TGT] [PATH...] muestra las diferencias entre OLD-TGT y NEW-TGT. Si proporciona PATHs, éstas rutas son tratadas como relativas a OLD-TGT y NEW-TGT y la salida se restringe a diferencias en sólo aquellas rutas. OLD-TGT y NEW-TGT pueden ser rutas de copias locales de trabajo o URL[@REV]. OLD-TGT apunta por defecto al directorio de trabajo actual y NEW-TGT apunta por defecto a OLD-TGT. N es por defecto BASE o, si OLD-TGT es una URL, HEAD. M es por defecto la versión actual o, si NEW-TGT es una URL, HEAD. svn diff -r N ajusta la revisión de OLD-TGT a N, svn diff -r N:M también ajusta la revisión de NEW-TGT a M.

svn diff -r N:M URL es la versión abreviada de svn diff -r N:M --old=URL --new=URL.

svn diff [-r N[:M]] URL1[@N] URL2[@M] es la versión abreviada de svn diff [-r N[:M]] --old=URL1 --new=URL2.

Si TARGET es una URL, entonces las revisiones N y M pueden ser proporcionadas vía --revision o usando la notación @ descrita anteriormente.

Si TARGET es una copia de trabajo local, entonces el parámetro --revision significa:

--revision N:M

El servidor compara TARGET@N y TARGET@M.

--revision N

El cliente compara TARGET@N contra la copia de trabajo local.

(no --revision)

El cliente compara la versión base con la versión de la copia local de trabajo de TARGET.

Si se usa la sintaxis alternativa, el servidor compara URL1 y URL2 en las revisiones N y M respectivamente. Si omite N o M, se asume el valor de HEAD.

Por defecto, svn diff ignora la ascendencia de los ficheros y meramente compara el contenido entre dos ficheros. Si usa --notice-ancestry, la ascendencia de las rutas especificadas será tomada en consideración durante la comparación de revisiones (es decir, si ejecuta svn diff sobre dos ficheros de contenido idéntico pero diferente ascendencia verá el contenido entero del fichero como si hubiese sido borrado y añadido de nuevo).

Nombres alternativos

di

Cambios

Ninguno

Accede al repositorio

Para obtener las diferencias contra cualquier cosa menos la revisión BASE de su copia local de trabajo

Parámetros

--revision (-r) REV
--old OLD-TARGET
--new NEW-TARGET
--extensions (-x) "ARGS"
--non-recursive (-N)
--diff-cmd CMD
--notice-ancestry
--username USER
--password PASS
--no-auth-cache
--non-interactive
--no-diff-deleted
--config-dir DIR

Ejemplos

Para comparar la versión BASE con su copia local de trabajo (uno de los usos más populares de svn diff):

$ svn diff COMMITTERS 
Index: COMMITTERS
===================================================================
--- COMMITTERS	(revision 4404)
+++ COMMITTERS	(working copy)

Compruebe cómo sus modificaciones locales son comparadas contra una versión anterior:

$ svn diff -r 3900 COMMITTERS 
Index: COMMITTERS
===================================================================
--- COMMITTERS	(revision 3900)
+++ COMMITTERS	(working copy)

Comparar la revisión 3000 con la 3500 usando la sintaxis @:

$ svn diff http://svn.collab.net/repos/svn/trunk/COMMITTERS@3000 http://svn.collab.net/repos/svn/trunk/COMMITTERS@3500
Index: COMMITTERS
===================================================================
--- COMMITTERS	(revision 3000)
+++ COMMITTERS	(revision 3500)
…

Comparar la revisión 3000 con la 3500 usando la notación de rango (en este caso sólo proporciona una URL):

$ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk/COMMITTERS
Index: COMMITTERS
===================================================================
--- COMMITTERS	(revision 3000)
+++ COMMITTERS	(revision 3500)

Comparar la revisión 3000 con la 3500 de todos los ficheros en trunk usando la notación de rango:

$ svn diff -r 3000:3500 http://svn.collab.net/repos/svn/trunk
          

Comparar la revisión 3000 con la 3500 de sólo tres ficheros en trunk usando la notación de rango:

$ svn diff -r 3000:3500 --old http://svn.collab.net/repos/svn/trunk COMMITTERS README HACKING
          

Si tiene una copia de trabajo local, puede obtener las diferencias sin necesidad de teclear largas URLs:

$ svn diff -r 3000:3500 COMMITTERS 
Index: COMMITTERS
===================================================================
--- COMMITTERS	(revision 3000)
+++ COMMITTERS	(revision 3500)

Use la opción --diff-cmd CMD -x para pasar argumentos de manera directa al programa externo de diferenciación

$ svn diff --diff-cmd /usr/bin/diff -x "-i -b" COMMITTERS 
Index: COMMITTERS
===================================================================
0a1,2
> This is a test
>