Tags: Buenas prácticas de uso de un sistema de control de versiones (ii)

Este post es la segunda parte de aquel Buenas prácticas de uso de un sistema de control de versiones que publiqué en noviembre del año pasado. Está dedicado exclusivamente al uso de tags. Sé que prometí incluir branches y merge, pero habrá que dejarlo para otro día...

Antes de nada, lo primero sería definir qué es un tag en un sistema de control de versiones. Bien pues un tag es una marca que se asocia al estado de un proyecto en un determinado momento para poder acceder a él posteriormente. Por supuesto, los tags se pueden crear, listar y borrar.

La primera buena práctica sería... usa tags!. Es sorprendente la cantidad de gente que usa sistemas de control de versiones pero nunca ha usado tags. El uso de tags es la técnica más eficaz para volver atrás a un estado concreto del proyecto. Ya sea para hacer un checkout o para usarlo en comparaciones.

A continuación paso a exponer las que para mí, según mi experiencia y criterio, son buenas prácticas en el uso de tags:
  • Reutiliza el esquema de nomenclatura de versiones del proyecto para dar nombre a los tags. El esquema debe ordenar de forma incremental en el tiempo los nombres para facilitar la presentación del listado con todos los tags del proyecto.
    Así por ejemplo, yo utilizo el típico esquema X.Y.Z, donde X es el número de versión mayor, Y es versión menor y Z es versión de bug. Como CVS no soporta el carácter punto, utilizo el guión bajo como separador. Es decir, la versión v2.4.3 se traduce al tag v2_4_3.
  • Si no tienes un esquema, es el momento de crearlo. No uses la fecha como nombre para un tag. Mucho menos en formato ddmmaaaa, que no se ordena de forma incremental.
  • Asegúrate de que tienes la versión correcta del proyecto antes de crear un tag. ¿Han subido tus compañeros sus últimos cambios? ¿Te has hecho un update?
  • Crea un tag por cada release del proyecto que se produzca. Aunque sea una release interna. Esto te permitirá continuar desarrollando y aún así poder volver sin esfuerzo al estado del código de la release, por si necesitas corregir algún bug, realizar una pequeña mejora o simplemente realizar una entrega o distribución.
  • En general, crea un tag por cada suceso con implicación externa que ocurra en el proyecto. Como una entrega a un entorno de integración, el fin de un sprint, la realización de una demo, etc. Crear un tag es un momento, pero volver al estado de un proyecto un par de semanas después, deshaciendo los cambios a mano, es un infierno.
  • Recuerda que siempre puedes borrar los tags que dejen de tener sentido.
  • Crea un tag para marcar el inicio de un branch. Esto lo veremos más en detalle en la tercera parte.
  • Crea un tag para marcar la realización de un merge. Esto lo veremos más en detalle en la tercera parte.

1 comentarios :: Tags: Buenas prácticas de uso de un sistema de control de versiones (ii)

  1. Te queremos.. somos 2chicas que realizan el TFC de Integración Continua y no puedes imaginar lo que nos has ayudado.
    Esperamos con impaciencia tu
    3ªparte
    Muchas gracias
    Un saludo

Publicar un comentario