2008-10-02 16 views
61

En svn, tengo una rama que fue creada, digamos en la revisión 22334. Los commits se realizaron en la rama.¿Qué comando svn enumeraría todos los archivos modificados en una rama?

¿Cómo obtengo una lista de todos los archivos que se cambiaron en la rama en comparación con lo que hay en la cajuela? No quiero ver los archivos que se cambiaron en el tronco entre cuando se creó la rama y "ahora".

+0

Vuelvo a esta pregunta con bastante frecuencia y la respuesta más útil es la eliminada de @AndrewMedico, con 'svn log' :-D – DanFromGermany

Respuesta

67

Esto hará que pienso:

svn diff -r 22334:HEAD --summarize <url of the branch> 
+0

Perfecto. Exactamente lo que estaba buscando. Gracias. – Trenton

+0

Gracias, esto es lo que estoy buscando. – nRk

+2

Gracias. Incluso no sabía de qué revisión es mi rama, así que hago 'svn log | tail' para obtener el número de revisión más pequeño. – BornToCode

31

También puede obtener una lista rápida de archivos cambiados si eso es todo lo que están buscando con el comando de estado con la opción -u

svn status -u 

Esto le mostrará qué revisión está el archivo en la base de código actual versus la última revisión en el repositorio. Solo uso diff cuando realmente quiero ver diferencias en los archivos.

Hay un buen tutorial sobre comando svn aquí que explica muchos de estos escenarios comunes: SVN Command Reference

+2

'svn status' solo mostrará las modificaciones locales. el OP estaba buscando cómo ver todos los cambios de archivos que se han comprometido en su bifurcación desde que se creó desde el enlace troncal. – webnesto

2

opción -u mostrará incluyendo archivos de objetos si se añaden durante la compilación.

Por lo tanto, para superar eso, además, puede utilizar así.

svn status -u | grep -v '\?' 
9

archivos Esta lista sólo será modificados:

svn status -u | grep M 
+0

El estado de svn solo muestra las modificaciones de la zona de trabajo local. esto no responde la pregunta original con respecto a todos los cambios en la rama, después de su creación. – webnesto

+1

y archivos que contienen 'M' en el nombre – Manolete

+1

svn status -u | grep^M –

2
echo You must invoke st from within branch directory 
SvnUrl=`svn info | grep URL | sed 's/URL: //'` 
SvnVer=`svn info | grep Revision | sed 's/Revision: //'` 
svn diff -r $SvnVer --summarize $SvnUrl 
0

Se puede utilizar el siguiente comando:

svn status -q 

Según :

With --quiet (-q), it prints only summary information about locally modified items.

ADVERTENCIA: La salida de este comando solo muestra su modificación. Así que sugiero hacer un svn up para obtener la última versión del archivo y luego usar svn status -q para obtener los archivos que ha modificado.

Cuestiones relacionadas