Control de versiones en Dropbox

A la hora de trabajar con cualquier proyecto de desarrollo me gusta contar con una  herramienta de control de versiones que me permite tener registrados todos los fuentes del proyecto así como los cambios, modificaciones y revisiones que se han ido creando a lo largo de la vida del proyecto.

En las empresas que he trabajado disponíamos de herramientas como CVS, Subversion o Microsofol Source Safe para llevar el control de versiones. Para mis proyectos particulares o aquellos que realizo individualmente utilizo el control de versiones subversion que es un software open source gratuito que me permite disponer de este tipo de herramienta sin ningún coste.

 

Server-subversion

El problema surge cuando quiero trabajar desde una ubicación diferente a la habitual y necesito seguir trabajando con el control de versiones que tengo instalado en la red local o en el equipo que utilizo como servidor en mi casa, ya que desde las otras ubicaciones no tengo acceso a mi red.

Para solucionarlo he utilizado mi cuenta de Dropbox a la que puedo acceder desde cualquier lugar y el cliente de subversion para Windows tortoisesvn. He creado un repositorio en la carpeta de Dropbox y de esta forma tengo accesible el control de versiones de mis proyectos desde cualquier lugar con conexión a internet.

Si quieres instalar un repostiorio subversion en una carpeta de Dropbox tienes que realizar los siguientes pasos.

  1. Tener instaldos correctamente el cliente de Dropbox y el cliente de subversion tortoisesvn
  2. Te vas a la carpeta compartida de Dropbox (en mi caso D:/DatosUsuarios/Juan/Dropbox) y creas una carpeta para el repositorio de los proyectos. (Yo a la mía la he llamado svn_repo). Esta será la carpeta raíz de los proyectos con los que trabajarás
  3. Crea una carpeta para el primer proyecto que deseas tener bajo el control de versiones. Ej: mi_proyecto
  4. Ahora sobre la carpeta mi_proyecto pulsa sobre el botón derecho y selecciona la opción Tortoise SVN -> Create Repository here
    tortoisesvn-create-repo
  5. En estos momento ya tienes creado el repositorio. Te aparecerá un cuadro de dialogo:
    1. Te pregunta si deseas crear la estructura habitual de directorios utilizada por subversion, pulsa sobre este botón si comienzas a trabajar con un proyecto vacío.
    2. Finalmente pulsa sobre OK.
  6. Para agregar los archivos con los que estabas trabajando en mi_proyecto al nuevo repositorio tienes que realizar una importación:
    1. Vete a la carpeta de trabajo del proyecto (En mi caso. D:/src/mi_proyecto).
    2. Pulsa sobre el botón derecho y selecciona TortoiseSVN -> Import
      1. Si la carpeta con los archivos fuentes está bajo el control de versiones que utilizas actualmente no podrás visualizar la opción Import. Primero deberás seleccionar la opción Export y realizar una exportación a una carpeta temporal (Ej: D:/temporal/mi_proyecto)  para obtener los ficheros sin versionar y desde esa carpeta ya ejecutar la opción Import.
      2. Ten en cuenta que esta opción importará todos los ficheros que existan en el directorio y los subdirectorios. Deberás eliminar aquellos que no quieras versionar antes de ejecutar la opción.
    3. Ahora te pregunta por la dirección del repositorio, aquí indicarás la carpeta que has creado en Dropbox para el proyecto anteriormente. (En mi caso selecciono file:///D:/DatosUsuarios/Juan/Dropbox/svn_repo/mi_proyecto)
      1.  Importante poner file:/// al principio porque este es el protocolo utilizado para indicarle que la ruta al repositorio es a través de directorios. Si has trabajado con tortoisesvn anteriormente en otras ocasiones habrás utilizado svn:/// o http://
    4. Al pulsar sobre OK se añadirán todos los archivos al repositorio pasando a estar bajo el control de versiones.

Ahora ya tienes tú repositorio para el proyecto mi_proyecto con los archivos iniciales cargados. Después desde cada ordenador que quieras trabajar con el control de versiones debes realizar los siguientes pasos.

  1. Tienes que asegurarte de tener instalado el cliente de Dropbox y sincronizada la carpeta svn_repo que has creado anteriormente.
  2. Tener instalado tortoisesvn
  3. Crea una carpeta en la que trabajarás con los fuentes del proyectos. (En mi caso D:/fuentes/mi_proyecto). En esta carpeta tendrás tú copia de trabajo del proyecto
  4. Sobre esa carpeta pulsa el botón derecho y selecciona TortoiseSVN->Checkout
  5. Se abre un diálogo en el que tendrás que seleccionar la carpeta de Dropbox sincronizada en el paso 1 de este listado. (Ej: file:///D:Dropbox/svn_repo/mi_proyecto)
    1. No te olvides del file:///  al comienzo de la barra de direcciones.
    2. Hay que dejar seleccionada la opción HEAD si queremos descargar la última versión almacenada en el repositorio
    3. El resto de opciones no es necesario modificarlas.
      subversion-checkout
  6. A partir de ese momento se ha creado la copia de trabajo del proyecto y puedes comenzar a trabajar con él.
  7. Si quieres descargar los cambios que se hayan realizado utiliza la opción TortoiseSVN->Update. Para versionar las modificaciones que has realizado utiliza la opción TortoiseSVN->Commit
    1. Un Consejo, antes de versionar tus cambios con Commit, descarga todas las modificaciones con Update y de esta forma te aseguras de trabajar con la última versión.

Esta es la forma que tengo de trabajar con mi propio control de versiones subversión que me permite acceder a él fácilmente desde diferentes ubicaciones siempre que tenga conexión a internet. Otra de las ventajas de utilizar este método es que tenemos una copia en Dropbox por lo que podemos sentirnos un poco seguros en cuanto a la pérdida del servidor de control de versión ya que de momento Dropbox ha demostrado ser un servicio fiable.

Para mis proyectos en .NET Framework utilizo el IDE de desarrollo Visual Studio en el que he incluido el plugin Visual SVN que me permite visualizar en una ventana integrada  dentro del entorno de desarrollo, las modificaciones sobre archivos que he realizado y desde dónde puede realizar las operaciones de Update y Commit sobre el repositorio. Las operaciones que se pueden realizar son las mismas que con el cliente tortoisesvn por lo que la curva de aprendizaje con este complemento es muy corta.

¿Utilizas algún control de versiones para trabajar? ¿De qué forma accedes a él? Utiliza los comentarios para opinar sobre esta entrada o para contarme cómo utilizas tú control de versiones.

AGREGAR COMENTARIO