Manejo de Subversion creacion de repositorios

Esto quizás sea un poco de rutina para muchos desarrolladores, pero quizás para otros no tanto, lo posteo aqui como siempre para que quien lo necesite pueda usarlo y porque no? colaborar con el conocimiento.

Creación de Repositorios

Subversion es un sistema para el control de versiones, que utiliza el sistema de BerkleyDB, para registrar todos los cambios y generar revisiones con cada cambio realizados en archivos pertenecientes a un proyecto / página Web / Scripts o cualquier archivo donde se hagan cambios frecuentemente y sea necesario respaldarlos.
El procedimiento para crear repositorios en Subversion es el siguiente:
1. Primero debemos autentificarnos vía SSH en el servidor de SVN.
2. Con privilegios de SuperUsuario (root), debemos ejecutar el comando: svnadmin create –fs-type fsfs /var/svn/NOMBRE_DEL_REPOSITORIO. Este comando simplemente creará el repositorio en el directorio de SVN ubicado en /var/svn. Luego es necesario modificar los permisos del directorio para que el Apache tenga acceso a este con el comando: chown www-data.subversion –R /var/svn/NOMBRE_DEL_REPOSITORIO.

Agregar Usuarios al Subversion

Para Agregar usuarios al Subversion, es necesario editar dos ficheros.

Fichero Authz
En este fichero se almacenan los permisos de los usuarios a los repositorios, esta conformado por las siguientes directivas:

Directiva Groups:
[groups]
admins = usuario1,usuario2

En esta directiva se crean los grupos de usuarios, y se asignan los usuarios pertenecientes a estos separados por comas (,) como se muestran en el ejemplo anterior. Cada grupo de usuarios se debe crear en una línea diferente y se pueden asignar cuantos usuarios sean necesarios.

Directiva de Repositorios:
[repo1:/]
@admins = rw
* =

En esta directiva se asigna la permisología a cada repositorio existente, se encierra entre corchetes [ ] el nombre del repositorio de la forma que se indica arriba. Luego se asignan los grupos que tendrán acceso a este y el tipo de acceso que tendrán “r” para lectura y “w” para escritura. Por último se le quitan los permisos a los demás usuarios con “* =”
Se pueden poner tantos repositorios como sean necesarios.

El segundo fichero es el passwd-digest

Este fichero contiene los usuarios con el Shadow Password el cual podemos copiar de algun servidor, o generar un nuevo password con el htpasswd en linux.

Haciendo Respaldo de Repositorios.

Cuando sea necesario respaldar los archivos, revisiones, Tags, y Branches del Subversion se deberá realizar con el admin del subversión ejecutando el siguiente comando.

SVNADMIN DUMP /var/svn/NOMBRE_DEL_REPOSITORIO > respaldo.txt
De esta forma se generará un fichero con el respaldo de nuestro repositorio en formato TXT, el cual podremos restaurar cuando lo deseemos de la siguiente forma:

SVNADMIN LOAD /var/svn/NOMBRE_DEL_REPOSITORIO < respaldo.txt

De esta forma no se respaldan configuraciones inherentes al Subversion únicamente al repositorio.

Wow. It's Quiet Here...

Be the first to start the conversation!

Leave a Reply:

Gravatar Image

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>