Instalar un servidor de subversion en Mac OS X 10.6.x

Publicado en: Tecnología

Logo SubversionSubversion es un software que controla las versiones de los ficheros. Básicamente permite trabajar con la versión más actual de un fichero, pero permite la posibilidad de acudir a versiones anteriores, nunca se sabe que se edita, que añade ni que se cambia hasta que se echa de menos. Además permite añadir notas a cada cambio que se hace sobre el fichero, pequeñas notas que nos ayuden a la hora de buscar una versión antigua para saber qué había o que cambiamos.

Es una evolución de CVS, controladores de versiones, que permite integrarse con servicios web de Apache, que recoge en su seno de desarrollo y desde donde puedes descargarlo y documentarte en profundidad.

Puedes compilarlo desde el código fuente, puedes usar MacPorts o puedes usar la forma más sencilla, que no será la mejor pero si que funciona sin problemas a la primera, para conexiones con aplicaciones en C y JavaHL, una instalación desde un binario para tu versión de Mac OS X. En mi caso, la compatible con 10.6.

Descargar Subversion para Mac, en concreto la distribución binaria en formato DMG para 10.6.x, la versión en el momento de escribir esto es la 1.6.15.

Instalar, seguir el setup de instalación gráfico.

Directorio de los ejecutables instalados:

/opt/subversion/bin

Añadir path de los ejecutables instalados al PATH de búsqueda del sistema. Editar el fichero profile para todos los usuarios del sistema:

# vi /etc/profile

Añadir al final del fichero:

export PATH=/opt/subversion/bin:$PATH

guardar (:w!) y cerrar (:q)

Configurar el servidor de SVN.

Crear el directorio padre que contendrá cada proyecto.

# mkdir /repositorioSVN

Arrancar SVN server:

# svnserve -d -r /repositorioSVN

Crear repositorios por proyecto.

# svnadmin create /repositorioSVN/proyecto1

El repositorio está listo para conectarse a él. La ruta de conexión para un cliente SVN es:

svn://localhost/proyecto1

Ajustar permisos. El servidor SVN permite accesos mediante una lista de control de acceso.

Por cada repositorio, editar el fichero ‘passwd’ para añadir por línea usuario y contraseña:

# vi /repositorioSVN/proyecto1/conf/passwd

Añadir al final del fichero, tantos usuarios y contraseña como deseemos

nombre_usuario = password_que_queramos

Guardar y cerrar (:wq)

Editar el fichero svnserve.conf para que compruebe accesos por contraseña.

# vi /repositorioSVN/proyecto1/conf/svnserve.conf

Descomentar la línea donde dice:

password-db = passwd

Guardar y cerrar (:wq)

Ahora el acceso está controlado por la lista de usuarios de cada repositorio.

Mover un repositorio de un equipo a otro

Si se copia el directorio remoto a su nueva localización, /repositorioSVN/proyecto1, en abierto y se modifican los ficheros de configuración para controlar el acceso de usuarios, al conectar se recuperan las versiones sin problemas.

SaludoX.