Subversion y sus mejores recetas (3ª parte)

En la tercera parte de este recetario sobre subversion hablaremos de tags y ramas. Haciendo incapié en su gestión y en como se emplean las ramas en situaciones reales de desarrollo de software.

Puedes encontrar la otras partes de este artículo a continuación:

Subversion y sus mejores recetas (1ª parte)

Subversion y sus mejores recetas (2ª parte)

*Creación de un nuevo tag (etiqueta) del head de trunk*

svn copy file:///var/svn/newrepos/myproject/trunk file:///var/svn/newrepos/myproject/tags/miprimertag -m “Creación de mi primer tag”

*Crear un nuevo tag de tu copia de trabajo*

(siendo micopiadetrabajo el directorio donde está tu copia de trabajo)
svn copy micopiadetrabajo file:///var/svn/newrepos/myproject/tags/misegundotag -m “Tag de mi copia de trabajo”

*Borrar un tag (o una rama)*

svn delete file:///var/svn/newrepos/myproject/tags/misegundotag -m “Eliminando tag obsoleto que ya no se usan”
(Recuerda que siempre puedes recuperar este tag o rama borrado)

*Recuperando un tag (o una rama) borrada*

(suponiendo que el borrado del tag fue en la revisión 215)
svn copy file:///var/svn/newrepos/myproject/tags/[email protected] file:///var/svn/newrepos/myproject/tags/misegundotag -m “Restaurando tag”

Lo habitual al desarrollar software es desarrollar sobre una rama principal (trunk) y cada cierto tiempo (dependiendo de la política del proyecto) se saque una versión nueva del proyecto generando una rama llamada estable, esta rama estable no agregará ninguna nueva característica y sólo se trabajará sobre ella para arreglar bugs. Las nuevas características y mejoras (y también las correcciones de bugs) se aplicarán sobre la rama principal sin que se molesten los dos desarrollos. La rama estable suele tener una vida que depende de las características del proyecto y puede ser de tan sólo unos pocos días a varios años, durante este tiempo se da soporte a esa versión del proyecto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *