svn checkout y actualizar sin el .directorio svn
-
20-08-2019 - |
Pregunta
Tengo un sitio web en svn y quiero parchear el sitio en vivo con lo que hay actualmente en el repositorio (es decir,efectivamente llamando svn update en el sitio en vivo), pero no quiero .svn directorios en cada carpeta en el sitio web de producción.
Es allí una manera de establecer svn para que el .svn carpeta con la información de la versión no está en el mismo directorio que los archivos bajo el control de versiones?
En git puede crear y detatch una obra de árbol y presione actualizaciones para un proyecto de esta manera(de acuerdo a http://toroid.org/ams/git-website-howto), Que básicamente quiere ser capaz de hacer algo similar en el svn.
Solución
svn export
funciona de manera similar a un checkout
pero sin el .svn
los directorios.Sin embargo, usted no puede update
una estructura de este tipo, porque no es un svn copia de trabajo.
También puede configurar el servidor web para no permitir el acceso a la .svn
directorios y sólo tiene que ir con la caja+método de actualización.
Otros consejos
¿Qué tal si rsync está configurado para no copiar " .svn " directorios?
rsync --exclude=.svn local_svn_copy webserver:site/
Esto se puede volver a ejecutar para actualizar la copia del servidor web.
httpd.conf:
<Directory ~ "\.svn">
Order allow,deny
Deny from all
</Directory>
Como ha mencionado laalto, svn export
es un método fácil pero no muy eficiente para actualizar una " copia de trabajo " cuando se usa repetidamente:
milen@dev:~$ svn export --non-interactive --force "<URL>" <directory>
También puede usar git-svn
para crear un espejo git del sitio web y luego publicar la forma descrita en el artículo que ha vinculado. Obviamente, esta no es una solución sencilla.