martes, febrero 08, 2011

Control de versiones con Subversion

En primer lugar, ¿qué es/para qué sirve?

Como su propio nombre indica se trata de un software que ayuda a llevar el control de versiones de cualquier aplicación que desarrollemos (es independiente de la plataforma de programación). Facilita la gestión de versiones y mantiene un registro de todos los cambios que se van realizando, con la posibilidad de echarlos atrás en cualquier momento. En entornos en los que trabajan varias personas en un mismo proyecto, es muy recomendable utilizar algo como esto porque permite que cada uno trabaje con una porción del proyecto sin peligro de que el que grabe último machaque las modificaciones de los demás.
 

El repositorio


El repositorio es el almacén del control de versiones. En nuestro caso lo he ubicado en http://192.168.1.187/svn, y en el servidor es E:\SVN. Esta carpeta no es ftp ni está compartida, sino que se trata de un recurso WebDav. Para tener acceso a este repositorio es necesario utilizar un usuario y password.

Si se entra en el repositorio desde el navegador, podréis moveros por una estructura similar a esta:

·         Repositories (raíz de todos los repositorios)
o   DotNetProjects (la carpeta que he creado para alojar los proyectos de .Net)
§  GestInc (el Portal de Gestión de Incidencias Informáticas)
·         trunk (versión actual)
·         tags
o   v1.0 (versión 1.0, foto, no modificar)
·         branches
§  SorteoYofindo.
·         trunk (versión actual)
·         tags
o   v1.0 (versión 1.0, foto, no modificar)
·         branches (para parches)


Aplicaciones en el servidor

En el servidor 192.168.1.187 he instalado 2 aplicaciones (gratuitas):
·         VisualSVN Server, que nos ayuda a gestionar el repositorio. Tiene una consola y un cliente web. Algunas de las cosas para las que va bien:
o   Crear la estructura para alojar un nuevo proyecto (crea las carpetas trunk, tags y branckes)
o   Gestión de usuarios

·         TortoiseSVN. Plugin para el explorador de Windows, que permite facilita:
o   Añadir cualquier documento/fichero al repositorio, mediante la opción Import


Ambas aplicaciones son clientes para Subversion, el “core” del meollo y pueden convivir sin problemas.


Aplicaciones cliente

·         TortoiseSVN, la misma del servidor, en realidad está más pensada para cliente, permitiendo:
o   Obtener cualquier versión de un proyecto/documento/fichero.
o   Comparar versiones
o   Hacer merge de versiones
o   Etc.
·         Plugins para Visual Studio, Eclipse (por si tenemos que hacer algo para Android), etc. En el caso del que me instalado para Visual Studio 2010 (AnkhSVN), permite hacer, entre otras cosas:
o   Abrir una versión de un proyecto del repositorio
o   Hacer Ckeckin/checkout/merge/etc. Ejemplo de modificación de un fichero + “commit changes

No hay comentarios:

Publicar un comentario