Cintillo Institucional

Sistema de Control de Versiones

Breve manual del Usuario

Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. Los sistemas de control de versiones facilitan la administración de las distintas versiones de cada software desarrollado (Wikipedia)

Un repositorio para sistema de control de versiones puede ser distribuido o centralizado, un sistema distribuido permite crear una copia del repositorio en la estación de trabajo de cada individuo permitiendo aumentar la capacidad de decisión distribuida, esto da más flexibilidad pero puede dificultar bastante la sincronización, en cambio un sistema centralizado mantiene todo el código en un mismo repositorio, esto facilita las tareas administrativas a cambio de reducir la potencia y flexibilidad, pues todas las decisiones fuertes (como crear una nueva rama) necesitan la aprobación del responsable.

Es por ello que se tomó la decisión de llevar un repositorio centralizado para la primera versión de la PDSL, dado que es más sencillo de administrar.

Tomando en cuenta las herramientas libres existentes para el manejo de esta tarea, la decisión estaba entre mercurial y SVN. Mercurial permite el uso del repositorio, tanto centralizado como distribuido, según sea la necesidad, desarrollado desde el 2005, es una alternativa que ha llamado la atención a las comunidades de desarrollo, ya que proyectos como MoinMoin, Mozilla, OpenJDK, OpenSolaris han migrado su sistema de control de versiones a mercurial.

SVN es un sistema robusto, el proyecto evolucionó a partir de CVS, desarrollado en los años ochenta, comenzando, es la herramienta usada por proyectos como SourceForge, KDE, Gnome, Ruby, Ruby on Rails, Python, Samba, Zope, CUPS, Twiki, Django.

La herramienta elegida es SVN, ya que facilita el trabajo colaborativo, ya que tiene un repositorio central y cada desarrollador posee copias de trabajo, que se comparan con una única y definitiva versión final del producto, por lo que no requiere una supervisión constante. Su instalación en Debian es muy sencilla ya que se encuentra en los repositorios oficiales.

Herramienta

Estatus de desarrollo

Arquitectura

Resolución de conflictos

Licencia

Plataforma

CVS

Mantenido, pero no se han añadido nuevas funcionalidades recientemente

Cliente- Servidor

Merge

GPL

Linux, Windows, MAC OS X

Mercurial

Activamente desarrollado

Distribuido

Merge

GPL

Linux, Windows, MAC OS X

SVN

Activamente desarrollado

Cliente- Servidor

Merge o Lock

Apache/
BSD

Linux, Windows, MAC OS X

Bazaar

Activamente desarrollado

Distribuido

Merge

GPL

Linux, Windows, MAC OS X

Tabla 2: Comparación de Herramientas para el control de versiones

pdslscv (última edición 2008-07-28 14:19:59 efectuada por eparedes)