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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top