2010-02-12 15 views

Respuesta

104

Si usted tiene un contenidos del repositorio a la mano, puede utilizar la ^ (intercalación, búsquelo en la manual) notación para hacer referencia a la raíz de la cesión temporal de esta manera:

svn diff --old ^/branches/0.4.x --new ^/trunk 

Estos trabajos desde Subversion 1.6.

Si usted tiene una subversión de esa edad o sin la caja práctica de la cesión temporal, puede utilizar rutas absolutas, como se describe en el original redbook:

svn diff --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/ 

debería darle la respuesta que está buscando.

Reemplace http://.../repo/ con la URL real de su repositorio.

+1

Esto no funcionó con la subversión incluida en Mac OS X (Mountain Lion) (1.7). Actualicé a Subversion 1.8.1 con Homebrew y funcionó. – Jason

+2

Con notación cursiva (SVN> = 1.6): svn diff --old ^/branches/0.4.x --new ^/trunk –

+0

@SteveKehlet: donde '^' significa "el repositorio del checkout en el que me encuentro actualmente" ? –

2

Puede usar la herramienta Meld para comparar en lugar de usar el símbolo del sistema para ver la diferencia. Es algo parecido a esto.

svn diff --diff-cmd='meld' --old http://.../repo/branches/0.4.x --new http://.../repo/trunk/ 
+0

¿Qué es la herramienta 'meld'? – ceving

+2

@ceving: creo que se refiere a [Meld] (http://meldmerge.org/). En Ubuntu debería estar ya en el repositorio [Meld Diff Viewer] (https://apps.ubuntu.com/cat/applications/lucid/meld/) –

5
svn diff ^/trunkUrl/fileName ^/branchUrl/fileName 

Esto le dará la diferencia entre un archivo en rama y el tronco.

1

Si solo desea diferenciar contra la rama actual, puede simplemente usar un punto.

svn switch ^/branches/branchName 
svn diff . ^/trunk 
Cuestiones relacionadas