Servidor SVN privado, gracias a Dropbox.

Versionado local y compartido, sin necesidad de un servidor svn privadoDesde hace tiempo, para los proyectos universitarios, necesitaba programar en equipo, sin embargo, no podíamos levantar un servidor SVN privado, en una de nuestras PC’s y tenerlo encendido todo el día, y la idea de usar SourceForge para un proyecto universitario, no nos encajaba, así que con mis compañeros comenzamos a usar Dropbox para sincronizar la carpeta del proyecto y así poder programar desde diferentes PC’s y en paralelo, sin embargo surgían problemas, como que los archivos de configuración no son los mismos en todas las máquinas, estoy hablando de la carpeta nbproject o la carpeta eclipse, que guarda referencias hacia librerías locales u otros archivos locales así que iteníamos que hacer pequeños “fixes” para que estos no nos den problemas al intentar correr el proyecto, sin embargo al final siempre terminaba el proyecto dañado de tantos conflictos en esos archivos.

Recientemente, se me encendió el foco y se me ocurrió juntar las dos ideas… por qué no tener un servidor de SVN local, y lo sincronizamos con dropbox… y eso hice, gracias a SVN Tortoise que me da la opción de convertir cualquier carpeta en repositorio, lo que hice fue crear una carpeta SVN en el dropbox, la compartí, y usé esa ruta local para hacer un checkout, pudiendo además también hacer commit a mi servidor local, el cual es modificado, dropbox detecta esos cambios en el servidor, y sincroniza el servidor local, con los demás servidores locales en los demás dropbox permitiendo así un servidor svn privado compartido, y local a la vez.

Los inconvenientes son el retraso que hay entre que se hace commit y los archivos del servidor se actualizan en el dropbox, el otro inconveniente, es que todos tienen acceso directamente al servidor, pero no deja de ser una buena opción para estudiantes y pequeños equipos de trabajo, que quieren trabajar en paralelo, y no pueden estar levantando un servidor svn o pagar uno.

Los pasos para tener esto funcionando son simples:

  1. Tener una cuenta de Dropbox y tenerlo instalado.
  2. Descargar e instalar SVN Tortoise
  3. En el dropbox crear una carpeta ServidorSVN
  4. Clic derecho en la carpeta: Tortoise SVN > Create repository here(con lo cual se crearán varios archivos)
  5. Ir a donde quieras tener tu proyecto, y hacer un checkout a tu servidor que está en tu dropbox; la ruta debe ser algo como file:///C:\Users\Tu usuario\Dropbox\SVN Server\ (asegurarte poner file:/// dado que es el protocolo)
  6. Compartir la carpeta con tus compañeros y una vez haya actualizado su versión del servidor en su dropbox, hacer un checkout igual.

Luego podrán hacer commit y checkout, cuando quieras, y se actualizará automáticamente tu versión de servidor en local, luego la del dropbox, y luego la de tus compañeros.

Good luck, y creo que con esto no hay excusas para que solo uno programe el proyecto y los otros miren, por que no tienen la versión de código, y no quieren programar doble ni tampoco se pueden unir los proyectos.