domingo, abril 06, 2008

SCM: Organización básica de un repositorio

La organización básica recomendada de los directorios de un proyecto en repositorio es la siguiente:

Trunk: Es la base del repositorio desde donde el desarrollo de un proyecto progresa. Si los desarrolladores están trabajando en el trunk, va a contener la última versión del software, pero esta puede ser la más inestable.

Branches:
En esta carpeta se mantienen una o varias versiones del trunk, donde se están haciendo distintos desarrollos para luego ser juntadas (mediante un merge) con el trunk. Uno de los branches también puede ser una copia de una versión que se realiza para realizar desarrollos que tal vez nunca sean aplicados al software.

Tags:
Un tag es una versión del repositorio importante que es copiada para no perderla de vista. Por ejemplo en el desarrollo de software incremental, si se lanzan diversas versiones, es recomendable crear un tag con esa versión, por si luego se quiere acceder fácilmente a ella.

Un ejemplo de la utilización del trunk, los branches y los tags es el siguiente: En un proyecto cada vez que se tiene que agregar una nueva funcionalidad o arreglar un error, se crea un nuevo tag llamado NomProyecto_Anterior_a_xyz (donde xyz es el numero de ticket donde se enuncia el cambio a realizar) se crea un nuevo branch con la ultima copia del trunk. El desarrollador realiza la implementación en ese branch y cuando termina y este desarrollo es aprobado por el equipo de calidad se hace hacer un merge del branch al trunk para que la versión principal del software en desarrollo contenga este arreglo y se crea un tag llamado NomProyecto_Posterior_a_xyz. Los tags se realizan para tener versiones anteriores y posteriores del desarrollo de ese ticket.

Acá se puede ver una simple línea de tiempo de la creación de branches y tags:


  • En un post anterior, recomendé un libro donde se puede aprender esto más en detalle u otros temas relacionados: Leer.
  • Tambien recomendé Subversion, una de las herramienta necesarias para mantener un repositorio: Leer.
Imágenes Obtenidas de Wikipedia

No hay comentarios.: