svn checkout y actualización sin el directorio.svn
website-deployment (5)
Tengo un sitio web bajo svn y quiero parchear el sitio web actual con lo que hay actualmente en el repositorio (es decir, llamar a svn update en el sitio web activo), pero no quiero los directorios .svn en todas las carpetas del sitio web de producción.
¿Hay alguna forma de configurar svn para que la carpeta .svn con información de versión no esté en el mismo directorio que los archivos bajo el control de versión?
En git, puede crear y destapar un árbol de trabajo y enviar actualizaciones a un proyecto de esta manera (de acuerdo con http://toroid.org/ams/git-website-howto ), básicamente quiero poder hacer algo similar en svn .
¿Qué hay de rsync configurado para no copiar los directorios ".svn"?
rsync --exclude=.svn local_svn_copy webserver:site/
Esto se puede volver a ejecutar para actualizar la copia del servidor web.
Como laalto ha mencionado, 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 vinculó. Obviamente, esto no es una solución directa sin embargo.
httpd.conf:
<Directory ~ "/.svn">
Order allow,deny
Deny from all
</Directory>
svn export
funciona de manera similar a un proceso de checkout
pero sin los directorios .svn
. Sin embargo, no puede update
dicha estructura ya que no es una copia de trabajo svn.
También puede configurar el servidor web para que no permita el acceso a los directorios .svn
y solo vaya con el método de verificación + actualización.