Cuando se empieza a usar Subversion (SVN), para tener un control de los archivos de nuestro proyectos, en ocasiones usaremos clases, librerías, frameworks o carpetas de un repositorio de un tercero. Cuando unimos estas carpetas nuevas, a nuestro repositorio cliente, esta no los interpreta bien porque ya vienen con otras carpetas .SVN con archivos específicos para su repositorio de origen. La solución aquí es eliminar todas las carpetas .SVN de lo que queramos implementar para que nuestro repositorio cliente lo interprete como nuevos archivos y podamos agregarlas al proyecto.
Por consola nos ubicaremos en la carpeta donde están nuestros nuevos archivos/carpetas y ejecutaremos alguno de los siguientes scripts dependiendo del S.O. :
Código :
# Windows FOR /r "." %f IN (.svn) DO @RD /s /q "%f" # Linux / OSX rm -rf `find . -type d -name .svn`
Con esto se eliminarán las carpetas .SVN de forma recursiva. Pero escribir toda esa línea no es muy cómodo que digamos en nuestro trabajo del día a día, por eso vamos a automatizar este proceso.
En Windows
Crearemos un archivo que llamaremos "borrar carpetas SVN.reg" y contendrá lo siguiente:
Código :
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\shell\DeleteSVNFolders] @="Borrar carpetas SVN" [HKEY_CLASSES_ROOT\Directory\shell\DeleteSVNFolders\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && FOR /r \"%1\" %%f IN (.svn) DO @RD /s /q \"%%f\" \""
Le damos doble click a este archivo y nos preguntará si queremos agregarlo al Registro, le decimos que Sí.
Ahora tendrémos una opción más en nuestro menú contextual al dar click derecho sobre cualquier carpeta que ejecutará nuestro script.

En Linux / Mac OS X
Extraido desde: Any Example
Crearemos un archivo en /usr/bin/ (o en cualquier otra carpeta de binarios que sea accesible), lo llamaremos "csvn" y contendrá lo siguiente:
Código :
#!/bin/sh echo "recursively removing .svn folders from" pwd rm -rf `find . -type d -name .svn`
Ahora podremos usarlo de la forma que comentamos anteriormente pero en vez de escribir toda la línea de código escribiremos sólo "csvn" (Recuerde estar sobre la ruta en la que quiere eliminar las carpetas .SVN).
Nota: No es recomendable ejecutar 'csvn' como root.


svn export http://servidor/svn/trunk/ /ruta/proyecto/exportado/
es una señal mi pequeño otaku Skywalker
pero ya fuera de bromas justo estaba buscando esto
Por shadow_rev el 12 de Enero de 2010
find . -iname .svn -exec rm -fr '{}' \;
Sucede para cualquier archivo que por permisos no puedas borrar
Para eso escribe en el terminal
Código :
ojo, hay un espacio después de nouchg, quedaría algo como "nouchg "
luego arrastras la carpeta q contenga los archivos o carpetas al terminal, para que quede algo asi:
Código :
y ya luego lo puedes borrar sin problemas del trash, es una forma, no dudo que hay otras más
Por iswael el 14 de Julio de 2010
Por Silence el 26 de Agosto de 2010
Por Carla el 10 de Septiembre de 2010
Por Peter el 11 de Octubre de 2011
Por JuanChe el 22 de Noviembre de 2011