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:
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.
@Shakka: Cierto, no había probado esa opción aun. Ahora tenemos más opciones. Por:Otaku RzO
ahhh me has salvado la vida!!!!
es una señal mi pequeño otaku Skywalker es una señal!!!!
pero ya fuera de bromas justo estaba buscando esto felicidades Por:eldervaz
si, es realmente un tip muy, muy bueno, hace varios meses que necesitaba algo así, borrar carpeta por carpeta no es muy divertido que digamos u.u Por:master_of_puppetz
Otra alternativa para borrar los .svn en linux:
find . -iname .svn -exec rm -fr '{}' \; Por:shadow_rev-blog
me puse a probar y de casualidad encontré una alternativa para los que usan MAC.
Sucede para cualquier archivo que por permisos no puedas borrar
Para eso escribe en el terminal
Código :
chflags -R nouchg
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 :
chflags -R nouchg /Users/eldervaz/borrar
y ya luego lo puedes borrar sin problemas del trash, es una forma, no dudo que hay otras más Por:eldervaz
Yo creo que exportando la carpeta sería más sencillo, te la exporta sin los .svn y luego tu ya la agregas a tu repositorio cliente. Aunque me apunto el tip Por:One