Quiero eliminar todos los archivos versionados de mi repositorio, pero MANTENGO la estructura de directorios versionada. Obviamente quiero dejar todos los directorios .svn intactos.
En otras palabras, quiero vaciar completamente la estructura de directorios de una copia de trabajo SIN dañar la estructura de directorios en sí.
Por ejemplo, eliminando los archivos de esta estructura:
dir/
.svn/
[files]
svsubdir1/
file1
.svn/
[files]
subdir2/
file2
file3
file4
.svn/
[files]
subsubdir1/
file5
.svn/
[files]
Debería resultar en:
dir/
.svn/
[files]
svsubdir1/
.svn/
[files]
subdir2/
.svn/
[files]
subsubdir1/
.svn/
[files]
Estoy buscando algún tipo de find
comando o algo para lograr esto, y tengo problemas para construir el comando. ¡Gracias por la ayuda!
Respuestas:
debe ajustarse a la factura (principalmente proviene de la página de manual de búsqueda
-path
). Conéctelo a menos y compruébelo. Lo que hace primero es encontrar (la ruta termina en .svn y no se repite en (podar) este directorio) o (si es un archivo, imprímalo).Si se ve bien, cámbielo a
La versión + une todos los archivos en un solo comando rm. Si eres paranoico,
cp -a dir/ otherdir/
primero mantén una copia de seguridad del árbol ( ).fuente
-delete
es profundo primero y por lo tanto entra en conflicto-prune
porque los archivos dentro de la carpeta se verificarían antes de examinar la carpeta en sí. La otra solución (usar en-not -path ...
lugar de-path ... -prune
usar la opción -delete.)Debo hacer el truco.
fuente
-exec /bin/rm '{}'
usted puede usar-delete
.