2010-09-03 20 views
6

Un tipo inteligente en la oficina logró enviar un montón de archivos de "copia de seguridad" (comienzan con ._) a nuestro servidor de subversión.Lista de todos los archivos versionados en subversión? (Eliminar archivos por nombre)

Preferiblemente, me gustaría eliminar estos archivos utilizando algunos script bash básicos en lugar de pasar por el repositorio de forma manual.

¿Hay alguna manera de que pueda obtener una lista de todos los archivos versionados de subversión dentro de un directorio para poder hacer algunas eliminaciones básicas de grepping/svn?

edición:

'svn list' no es recursivo y también parece lista de directorios, necesito el tipo de comportamiento como 'encontrar'.

segundo fragmento:

Ok, la bandera -R puede hacer 'svn list' recursivo ... pero ¿cómo me tira a cabo los directorios?

+0

Por cierto, si puede convencer a su oficina, le recomendaría pasar a un VCS más moderno, como [Git] (http://git-scm.com/) o [Mercurial] (http://mercurial.selenic.com/). –

+0

@AndrewMarshall: Nos mudamos a git hace casi un año;) –

+1

¡Impresionante! Ni siquiera me di cuenta de la edad de esta pregunta, alguien agregó una respuesta, así que subió a la cima y la vi ': P'. –

Respuesta

4

Si es sólo en una confirmación (o una serie de confirmaciones) luego usar svn merge de deshacerlo.

Si el usuario ha estado haciendo a través de varias entregas y que está en Linux:

En primer lugar comprobar que esta lista correctamente los archivos que desea eliminar:

find . -name '._*' 

Entonces realmente invocar a SVN elimínelos:

find . -name '._*' -exec svn rm {} \; 

Compruebe svn status, commit if good.

Descargo de responsabilidad: No he probado los comandos, así que ten cuidado.

Creo que esos son los archivos de copia de seguridad de Mac que crea automáticamente.

+0

Eso funcionó muy bien, gracias :) Y sí, el tipo está usando un mac. –

5
svn list -R 

listas de todos los archivos y de directorios de forma recursiva

+0

Funciona, pero lento :-( –

3

¿cómo elimino los directorios?

La clave es observar que los directorios terminarán con una barra inclinada.

Puede usar grep.

svn list -R my_svn_dir | grep -v '/$' 
Cuestiones relacionadas