una tutorial trabajo tortoise subir repositorio proyecto español eliminar copia con como comandos archivos bash svn directory

bash - tutorial - Eliminando archivos.svn de todos los directorios



svn tortoise (12)

Esas carpetas son necesarias para ver cómo funciona la subversión con una copia de trabajo (es decir, donde ha realizado un pago).

Una opción sería que realice una exportación a otra ubicación. La exportación no tendría las carpetas .svn, y podría ejecutar su script en eso. Documentación: svn export , TortoiseSVN Export

Otra opción sería modificar su secuencia de comandos para ignorar los directorios ocultos, o construir una mejor herramienta de compilación.

Posible duplicado:
¿Cómo se elimina el control de Subversion para una carpeta?
Línea de comando para eliminar archivos y directorios coincidentes recursivamente

Recientemente convertí mi repositorio cvs a svn usando cvs2svn y recientemente noté que cada directorio tiene una carpeta oculta llamada .svn. Mi script de compilación actual copia muchos directorios de mis directorios de recursos versionados y termina copiando los archivos .svn. ¿Hay alguna forma de hacer que svn no incluya estos archivos cuando pago o necesito escribir un script para eliminar todos estos archivos .svn? Hay muchos archivos que tienen estos directorios .svn ocultos, así que esto sería un problema a menos que pudiera escribir un script recursivo para hacer esto, pero no lo hago si puedo hacer esto para mi instalador de Windows. ¿Hay alguna manera fácil de evitar que svn ponga este directorio oculto en todas partes de mi proyecto?


No estoy seguro en su caso específico de que quiera eliminar todos esos directorios .svn. Pero si lo haces, aquí tienes una idea básica para hacer exactamente eso:

find . -name .svn -print0 | xargs -0 rm -r


No sé si los eliminaría, pero tal vez sea una buena idea modificar tu script de compilación para ignorar su copia. Utilizo Ant para compilar y construir mi guerra y lo hace ignorando .svn dirs.


Podrías echarle un vistazo a SVK , que es una capa sobre Subversion. Una de las ventajas es que los metadatos del repositorio para su copia de trabajo, que normalmente se almacenan en los .svn , se conservan en una única ubicación central, por lo que no tiene el feo problema oculto de .svn dir. Es muy lindo.




Y una versión de PowerShell

ls -Force -Recurse -Filter .svn | rm -Force -Recurse


en sistemas Win32 / Win64, el siguiente comando debería hacer el trabajo:

del /q /s .svn


encuentre "/ YourFolder" -name ".svn" -exec rm -fdR {} /;

Ver este link


Publiqué esto ayer aquí , pero aquí está de nuevo porque de alguna manera lo puse en el hilo equivocado ...

Tengo algo que debería alegrarte el día. La fuente original está here .

Esta es una extensión de shell (perfectamente segura) que agregará "Eliminar carpetas SVN" a su menú de clic derecho en Windows. Ejecútelo en cualquier directorio que contenga esos archivos molestos.

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/shell/DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/shell/DeleteSVN/command] @="cmd.exe /c /"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r /"%1/" %%f IN (.svn) DO RD /s /q /"%%f/" /""

Para hacer que esta parte de su script de compilación copie esa llamada a cmd.exe y ejecutarlo.


svn export es lo que quieres. Le dará una copia limpia del árbol de códigos sin los directorios .svn (tenga en cuenta que esta copia no está bajo control de versión y los comandos svn no funcionarán en ella una vez que se haya exportado).

Utilizo este método para lanzar código en servidores de producción. Nuestro script de construcción toma una exportación del código de bifurcación, tars y gzips, lo carga al servidor correcto y lo descomprime / destraba.


find . -name ''.svn'' -depth -exec rm -rf ''{}'' /; -ls