portable - tortoisesvn 1.9 7.27907 x64 svn 1.9 7
Tortoise SVN hidden_svn folders (9)
+1 para la solución de Isak Savo.
Y puede hacer una XCOPY y excluir carpetas "/ svn":
XCOPY% 1% 1_deploy /EXCLUDE:C:/ExcludeSVN.txt / E / C / I / F / R / Y
Contenido de ExcludeSVN.txt:
/ _svn
De hecho, si desea subir de carga a un servidor web, su archivo de exclusión puede contener mucho más:
- .pdb
- .cs
- .resx
- .csproj
- .sln
- .webinfo
- .bak
- .sql
- .cremallera
- .vspscc
- .vssscc
- .scc
- / Web.config
Advertencia: si excluye archivos .cs, dio para volver a copiar el archivo .css después
Son especialmente molestos cuando necesito subir al servidor una solución web.
¿Hay alguna forma de configurar SVN para crear las carpetas _svn fuera de mi directorio de trabajo? De lo contrario, ¿cuál es la mejor forma de lidiar con ellos cuando solo necesita copiar el código?
Actualización: Usar el comando "svn export" es problemático porque hay archivos que no están bajo control de fuente pero son necesarios como .dll, archivos de datos xml o archivos de base de datos y no serán exportados. Por lo tanto, se requerirá copiarlos manualmente en diferentes subdirectorios de la copia de trabajo cada vez.
En TortoiseSVN, puede hacer clic con el botón derecho en la copia de trabajo y arrastrarla a otro lugar. Y cuando aparezca el menú emergente, seleccione "SVN Export Here". (Esto requiere que todo el código en la copia de trabajo esté registrado ya que la exportación será desde el enlace troncal y no desde la copia de trabajo)
Vea estos recursos para más detalles:
- http://tortoisesvn.net/most-forgotten-feature (sobre el botón derecho + arrastrar el menú contextual)
- http://tortoisesvn.net/node/343 (Acerca de la desinstalación de una copia de trabajo svn). Si usa este método, creo que sus archivos no versionados permanecerán en la carpeta pero no lo he intentado ...
La manera realmente sucia en Windows: crea una copia de tu proyecto, abre el Explorador, navega hasta el directorio donde está la copia y haz una búsqueda para todo lo que termine en _svn. Una vez que finalice la búsqueda, seleccione todo y presione Eliminar.
¡Yuck! Pero funciona realmente bien.
Use "svn export" para crear un árbol de directorios limpio.
Utilizamos CruiseControl con robocopy para crear una copia limpia de su repositorio.
<exec>
<executable>C:/Archivos de programa/Windows Resource Kits/Tools/robocopy.exe</executable>
<buildArgs>E:/CruiseControl/yourproject/Code/trunk/ E:/wwwroot/yourproject *.* /E /XX /XA:H /XO /NDL /NC /NS /NP /XF "*.cache" "*.designer.cs" "*.sln" "*.msbuild" "*.csproj" "*.PDB" "*.user" "*.designer" /XD .svn App_Code obj Properties</buildArgs>
<buildTimeoutSeconds>60</buildTimeoutSeconds>
<successExitCodes>1,0</successExitCodes>
</exec>
Los argumentos / XF y / XD excluyen los archivos y los directorios que no desea cargar a la producción.
Puede encontrar más información sobre robocopy aquí .
si utiliza una secuencia de comandos nant para habilitar la implementación en el servidor web, tiene un _SVN y _SVN / ** como excluye automáticamente al copiar archivos. nant filtrará una gran cantidad de archivos no deseados al copiar archivos a través de su tarea de copia, incluyendo:
- ** / * ~
- ** / # * #
- ** /. # *
- ** /% *%
- ** / CVS
- / CVS /
- ** /. cvsignore
- ** /. svn
- /.svn/
- ** / _ svn
- / _svn /
- ** / SCCS
- / SCCS /
- ** / vssver.scc
- / _vti_cnf /
Puede leer más acerca de NANT en la página principal de su proyecto aquí: NANT Home
Implementación de Robocopy ...
robocopy {source} {dest} /MIR /XD _svn /XD .svn
No es posible (actualmente) configurar SVN (o TortoiseSVN) para crear los directorios .svn (o _svn) fuera de la copia de trabajo. Creo que la hoja de ruta de SVN 1.6 incluye volver a visitar la biblioteca de copia de trabajo. La capacidad de poner los directorios administrativos en otra parte podría salir de este trabajo, pero estoy especulando.
Debe usar el comando "svn export" para crear una copia "limpia" de su copia de trabajo (es decir, sin los directorios _svn). Esto funciona desde el cliente de línea de comando.
Si está utilizando TortoiseSVN, puede hacer clic con el botón derecho en la copia de trabajo y seleccionar "Exportar ...". Esto le pedirá una carpeta para exportar los archivos. Alternativamente, puede arrastrar con el botón derecho una copia de trabajo a una carpeta (una que no sea una copia de trabajo), y TortoiseSVN mostrará un menú contextual; entre las opciones están "SVN Exportar a aquí" y "SVN exportar todo a aquí", este último también exporta archivos que no están bajo control de versión .
Si desea eliminar todas las subcarpetas llamadas .svn en Windows, cree un archivo por lotes con este contenido:
for /f "tokens=* delims=" %%i in (''dir /s /b /a:d *.svn'') do (
rd /s /q "%%i"
)
guárdelo en un archivo del_All_Dot_SVN_Folders.cmd . Ejecutarlo. Terminaste.
Gracias a http://www.axelscript.com/2008/03/11/delete-all-svn-files-in-windows/
Recuerde que el código anterior tiene .svn, mientras que el código en el enlace solo tiene * svn, por lo que es mejor tener el .svn para que no tenga accidentalmente un efecto no deseado.