svn diff — Muestra las diferencias entre dos rutas.
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]
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 PATH
s,
é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:
El servidor compara
TARGET
@N
y
TARGET
@M
.
El cliente compara
TARGET
@N
contra la copia de trabajo local.
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).
Para obtener las diferencias contra cualquier cosa
menos la revisión BASE
de su copia
local de trabajo
--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
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 >