Uso de repositorio SVN desde Windows

Normalmente los sistemas de control de versión como Subversion o CVS son utilizados en proyectos de desarrollo de software, en donde los IDE utilizados para ello (Eclipse, Visual Studio, etc.) sirven como interfaz de acceso a ellos. En este caso, la idea es mantener un único repositorio con las distintas versiones del proyecto en cuestión de forma tal de

  • Asegurar que no se tienen distintas versiones en computadores diferentes que obliguen a juntar mucho código distinto
  • Coordinar el trabajo de un equipo de personas evitando que los cambios se traslapen
  • Mantener una historia de cambios que permita retroceder en caso de errores

Estos mismos sistemas pueden ser usados para tareas distintas al desarrollo de software, permitiendo obtener los mismos beneficios para otros tipos de archivo. En particular, podemos usar un controlador de versiones como Subversion para mantener los documentos internos generados en nuestra empresa, coordinando su preparación y dejando en un sólo lugar esta documentación evitando salir de cacería cada vez que queramos un archivo relativamente antiguo.

Este artículo detalla los pasos necesarios para utilizar Subversion directamente desde Windows, de forma tal de agregarlo a nuestra operación diaria en el manejo de documentación general.

Descripción general

Para usar el repositorio Subversion (SVN para abreviar) haremos lo siguiente:

  • Cada usuario que participe deberá instalar un software cliente que permitirá la conexión. El software se llama TortoiseSVNTortoiseSVN. TortoiseSVN es un cliente SVN (como existen muchos) que tiene la particularidad de agregarse a la shell de Windows, es decir, aparece en los menús del botón derecho y puede ser usado sin que la operación normal de las carpetas de Windows cambie demasiado.
  • Cada usuario asignará una carpeta donde dejará los archivos compartidos, la cual funcionará como un espejo de lo que hay en el servidor SVN.
  • La idea es que para trabajar sobre un archivo nos traemos una copia del servidor. Cuando terminamos de trabajar sobre él lo subimos, con lo que queda disponible para el resto de los usuarios como una nueva versión.
  • Si SVN detecta que hay un conflicto (subimos algo que otro usuario ya estaba modificando, por lo que se corre el riesgo de que se pierda su trabajo), el cliente nos avisará y dará la opción de combinar los archivos.

Configuración y operación de una carpeta SVN

Una vez instalado TortoiseSVN podemos tomar una carpeta y “conectarla” al repositorio SVN. Los pasos son:

  • Crear una nueva carpeta.
  • Sobre esta carpeta (en realidad puede ser en cualquier parte) apretar el botón derecho del mouse. En el menú contextual que aparece, seleccionar la opción SVN Checkout…. La acción checkout en SVN corresponde a obtener la última versión disponible de una carpeta en el repositorio. El dato que representa al repositorio es un URL. El hecho de que sea un URL implica además que podemos ver el repositorio directamente desde un navegador web, donde obtendremos una vista de los distintos archivos y carpetas que ya han sido subidos.
  • En la ventana que aparece en el checkout debemos ingresar el URL anterior en el campo URL of repository. En el Checkout directory va la ruta de la carpeta donde dejaremos los contenidos del repositorio. Por defecto aparecerá la carpeta sobre la que obtuvimos el menú contextual. El resto de las opciones podemos dejarlas igual, pero como referencia diremos que una útil es la de Revision, donde podemos elegir la versión a obtener (representada por un número natural).
  • Al darle el OK, aparecerá una ventana pidiendo login y password. Estos datos corresponden a los del dominio de Windows (los usados para entrar al computador cada mañana). Se puede marcar la opción Save authentication para que no pregunte estos datos en cada operación.
  • Finalmente TortoiseSVN copiará a la carpeta todos los archivos y directorios que estén en el repositorio. Cada uno tendrá en su ícono un símbolo que indicará el estado de la copia local respecto al servidor. Verde si están iguales, rojo si tiene diferencias.
  • Una vez que terminemos de trabajar en un archivo hacemos el commit (subir los cambios al servidor) haciendo click con el botón derecho sobre el archivo y seleccionando la opción SVN Commit….
  • En el caso de agregar un archivo nuevo, debemos, luego de crearlo, hacer click con el botón derecho y seleccionar la opción TortoiseSVN -> Add…. Luego de esto debemos hacer commit para terminar de subirlo.