2012-01-09 12 views
13

Quiero comparar 2 revisiones usando la versión 1.3.2 de svn y copiar los archivos/carpetas cambiados a algún lugar en el servidor. La copia no es el problema, lo que me molesta es obtener solo los caminos cambiados. Estoy usando este comando:Comparando 2 revisiones con svn diff (v 1.3.2) y solo obtiene las rutas modificadas?

svn diff -r 90:93 URL --username name --password password 

Esto me devuelve una gran cantidad de información, ¿cómo extraeré solo las rutas modificadas de esa información? The --summarize no está disponible para la versión 1.3.2. Lo que quiero es algo así como:

/path/test.txt

Gracias! :)

Respuesta

13

¿Estás en Unix/Linux/Mac, o tienes instalado Cygwin?

Puede canalizar la salida a través de grep para buscar todas las líneas que comienzan con Index:. (Si recuerdo el resultado del comando de diff de Subversion 1.3) Eso le daría solo los nombres de los archivos que difieren. Es lo que uso para CVS.

$ svn diff -r 90:93 --username name --password password URL | grep "^Index: " 

Si eso funciona, y que desea eliminar Índice, puede utilizar sed:

$ svn diff -r 90:93 --username name --password password URL \ 
> | sed -n /^Index: /s/^Index: //p' 
+1

Muchas implementaciones 'sed' (todos?) Permitir que'/str/s // RPL/'como una abreviatura de '/ str/s/str/rpl /' – tripleee

Cuestiones relacionadas