Decisiones a la hora de montar un repositorio de subversion

De ChuWiki
Saltar a: navegación, buscar

Si quieres trabajar con subversion, hay muchas formas posibles de organizarlo. Veamos que decisiones tienes que tomar.

En subversion habrá un directorio del ordenador donde se guardarán todos los fuentes y su histórico, conocido como repositorio. Lo primero que debes decidir es si quieres tener ese repositorio en tu propio ordenador o quieres tenerlo en internet, accesible en modo lectura al público en general.

Si quieres tenerlo en internet, hay muchos proveedores gratuitos, aunque posiblemente el más conocido es el project-hosting de google. Con una cuenta de gmail puedes acceder y tener hasta cinco proyectos/repositorios allí alojados. Existe también posibilidad de tener tu repositorio oculto al público en general, pero suelen ser hosting de pago.

Si decides tenerlo en tu propio ordenador, tienes que seguir decidiendo cosas. Hay muchas posibilidades, aquí sólo veremos tres de ellas.

  • No montar ningún servidor en absoluto. Con el comando svnadmin init conviertes un directorio normal en repositorio de subversion y accedes a él con una URL estilo file://<repositorio>, es decir, directorio local.
  • Montar el servidor que viene con subversion (svnserve). Es un servidor específico para subversion que abre un puerto específico para subversion (3690 por defecto) y se accede a él con URL estilo svn://<ip>/<repositorio>
  • Montar un servidor http (apache, por ejemplo) y ponerle el módulo de subversion. De esta forma se accedería al repositorio con http://<ip>/<repositorio>

La ventaja del primero es su sencillez, pero sólo permite trabajar a una persona que esté en sesión en el ordenador, salvo que comparta el directorio con otros.

La ventaja del segundo es que el servidor específico de svn está pensado para svn y es más eficiente que el servidor http. La pega es que el puerto específico de svn puede estar filtrado por algún cortafuegos o proxy, además de que los fuentes sólo serían visibles con un cliente de svn. Existen herramientas que montadas en un servidor web http permiten visualizar esos fuentes desde el navegador, como websvn, pero son eso, herramientas adicionales. Otra pega más es que la versión windows de este servidor no está recomendada, ya que puede dar problemas (no sé si esto ha cambiado desde la última vez que lo ví, quizás no sea la situación actual).

En cuanto al http, es menos eficiente para svn ya que es un servidor http genérico, pero permite que cualquiera pueda visualizar los fuentes con el navegador y el puerto estándar para http no está filtrado en ningún sitio donde se permita navegar por internet. Esto hace que http (o https) sea uno de los protocolos más habituales para los proyectos libres en internet.

Para la opción de fichero, sólo necesitas el comando svnadmin que viene con subversion.

Para la opción de servidor subversion, necesitas svnadmin para inicializar el repositorio y el comando svnserve que viene con subversion (servidor)

Para http necesitas svnadmint para inicializar el repositorio, un servidor http (apache, por ejemplo) y el plugin de svn para ese servidor (mod_dav_svn para el caso de apache). Para Windows la opción más sencilla, tanto de instalación (al estilo windows, dando continuar a todas las ventanas que salgan) como de administración posterior (a base de ventanas y menús), es VisualSvn server

Por supuesto, tanto si usas un servidor de internet como si te montas el tuyo con cualquiera de las opciones mencionadas, necesitarás un cliente de subverion para trabajar, bien de línea de comandos (el comando svn), bien visual, como TortoiseSVN, bien integrado el algún IDE (como el plugin subclipse para eclipse)