desde ya pido disculpas si no va aca el post, pero me parecio el mas adecuado.
Les comento que acabamos de implementar SVN en nuestro servidor local.
Es un servidor con Ubuntu 9.04, que lo administramos desde SSH o via Web con Webmin+Virtualmin.
De esta forma emulamos nuestro servidor externo, y trabajamos de forma mas rapida para otros servicios.
El procedimiento es crear un VirtualHost con la cuenta del proyecto (ej: ejemplo.com), crear en la misma, su repositorio (ej: /home/ejemplo.com/svn/repo) y sus usuarios que intervienen en el proyecto.
Dar permisos de acceso a Apache al repositorio.
Ahora, como necesitamos para las pruebas, publicar los cambios nuevos despues de cada commit en /home/ejemplo.com/public_html/, se modifico el hook post-commit con el siguiente contenido:
Código:
Se le dio permisos de acceso y ejecucion.PATH_HOME='/home/ejemplo.com' # Borro todos los archivos rm -r -f $PATH_HOME/public_html/* # Exportamos del repositorio svn export file://$PATH_HOME/svn/repo $PATH_HOME/public_html/repo # Movemos los archivos a la raiz de public_html mv -f $PATH_HOME/public_html/repo/* $PATH_HOME/public_html/ # Borramos la carpeta repo rm -r $PATH_HOME/public_html/repo
Hasta aca todo perfecto para todo los proyectos, pero hay una cuenta en particular que se niega a exportar ciertos archivos!
Que fue lo que probe?:
- crear un proyecto identico, con su virtualhost (ejemplo1.com) y repositorio propio (/home/ejemplo1.com/svn/repo), copiar los archivos y hacer commit y todo lo anterior, y nada, me exporta los mismo archivos que en el otro proyecto (ejemplo.com), y no todos.
- Entrar por SSH como usuario del virtualhost, y ejecutar a mano, linea por linea lo que puse en el post-commit, y la exportacion la hace correctamente.
- Entrar por SSH y ejecutar el "post-commit" como usuario "www-data", que es el que en definitiva ejecuta el hook, y tambien lo hace de forma correcta.
El entorno que usamos es Eclipse con los plugins de subversion correspondiente.
A alguien le paso algo similar?, muchas gracias y perdon por lo extenso, pero queria aclarar lo mejo posible mi escenario.