Si bien se trata de un IDE bastante antigua, es posible manejar proyectos de Visual Basic 6 a través de Subversion con la ayuda de Add-ins disponibles en Internet.
Las capacidades que estas herramientas entregan son más bien limitadas, pero permiten las operaciones básicas como commit u obtener la última versión de un archivo. Además modifican la interfaz del árbol de archivos del proyecto VB6 de manera de visualizar los archivos que han cambiado respecto al cache local de SVN.
En términos generales el uso de SVN en VB6 se lleva a cabo de la siguiente forma:
- Suponiendo que el repositorio SVN ya existe, hacemos checkout en una carpeta de nuestro equipo usando TortoiseSVN. No es posible hacer el checkout directamente desde el IDE.
- El proyecto VB6 incluirá un archivo con extensión .VBP, que corresponde al proyecto propiamente tal. Hacer doble click sobre este archivo para trabajar en el proyecto.
- Una vez en Visual Basic 6 veremos que los elementos del árbol de archivos tienen una marca en el extremo inferior izquierdo indicando el estado respecto al repositorio. Si hacemos un cambio en un archivo, por ejemplo, veremos que la marca pasa a ser un visto rojo que señala que hay un cambio de la versión local respecto al repositorio.
- El proyecto así como cada archivo individual tiene un menú contextual (botón derecho) con las opciones de SVN.
Componentes necesarios
Para llevar a efecto esta configuración necesitamos los siguentes componentes:
- Subversion, correspondiente al cliente nativo de SVN. La instalación de este componente puede ser un poco redundante dado que además instalaremos TortoiseSVN, pero por simplicidad mantendremos esta dualdiad.
- TortoiseSVN, un cliente para usar SVN desde Windows directamente en las carpetas.
- Winmerge, software libre para comparar archivos. El add-in es capaz de llamarlo de manera de hacer comparaciones entre la versión local y la del repositorio.
- Add-in de SVN para VB6, el componente que nos permitirá usar SVN directamente desde el IDE de Visual Basic 6
Instalación de cliente Subversion
El cliente de línea de comando de Subversion puede ser obtenido desde
http://subversion.tigris.org/files/documents/15/38212/svn-win32-1.4.4.zip
Este zip debe ser abierto en una carpeta definitiva (recomendable que sea en Archivos de programa). Como se mencionaba antes, aquí viene el ejecutable de línea de comando del cliente de SVN (svn.exe), que será usado por el add-in. Nosotros directamente no debieramos necesitar usar este programa ya que siempre estaremos usando el IDE u otros GUIs para esto.
Instalación deTortoiseSVN
En caso de no estar instalado, TortoiseSVN puede obtenerse desde
http://sourceforge.net/projects/tortoisesvn
Este software agrega un conjunto de opciones a la shell de Windows.
Instalación de Winmerge
Winmerge es un software libre para comparar archivos y carpetas entre si. Se integra normalmente con otros sistemas, como es el caso del Add-in que usaremos. La idea es que nosotros no lo llamaremos directamente, sino que se abrirá cuando le pidamos al Add-in que compare dos versiones (como la local con la remota) de un archivo en particular.
El programa puede ser obtenido de
http://winmerge.org/
El archivo que se baja de este link corresponde a un instalador común.
Instalación de Add-in
Como se mencionaba anteriormente, usaremos un Add-in de Visual Basic 6 que nos dará las capacidades SVN. El Add-in se puede obtener en la situiente dirección:
http://svnvb6.tigris.org/
El archivo zip que debemos bajar puede encontrarse en la opción Documents and Files del menú de la izquierda. En la pantalla siguiente debemos elegir la versión más actual y bajarla.
El zip contiene una DLL, el add-in propiamente tal, y un documento Word con las instrucciones de instalación. Resulta conveniente revisarlo para ver los pasos en detalle, pero básicamente se trata de registrar la DLL en Windows usando una expresión como
regsvr32 "C:\Program Files\SVNVB6\SVNVB6.dll"
donde la ruta debe corresponder con el lugar donde expandimos los archivos del zip.
Configuración
Luego de registrar la DLL debemos abrir Visual Basic 6 para terminar con la configuración. Para ello, debemos ir a Add-ins -> SVN-VB6. La ventana que se abre nos permite ingresar las rutas de Subversion y de Winmerge (estas rutas deben llegar hasta el exe correspondiente).
Dadas estas rutas ya estamos listos para trabajar.
Checkout
Como se mencionaba, el checkout del proyecto se debe hacer usando TortoiseSVN, ya que el Add-in no incluye la opción. La idea es que al abrir un proyecto cuya carpeta está incorporada a SVN, el add-in se dará cuenta de esto y nos dará las opciones correspondintes.
De esta forma podemos hacer checkout haciendo click con el botón derecho del mouse en la carpeta de destino, escogiendo la opción SVN Checkout…. En la ventana de opciones que se abrirá debemos agregar los datos del repositorio, esto es, el URL según el proyecto.
Operaciones comunes
Los detalles de uso del add-in pueden encontrarse en el archivo Word que viene en el zip que bajamos. Normalmente usaremos los siguientes comandos (todos a partir del menú contextual de cada elemento):
- SVN Check in para subir una modificación. Esto abrirá una ventana para agregar el comentario del cambio.
- SVN Get Latest Version para obtener la última versión de un elemento.
- SVN Differences para comparar versiones usando Winmerge.
- SVN Info para obtener datos como el número de versión, el último usuario en subir una versión, etc.
También existe la opción de generar un bloqueo para asegurarnos de evitar conflictos, aunque esta opción no se recomienda excepto para situaciones muy puntuales.