|
SVN - Etiquetas, Ramas y Patchsets |
|
|
Para aquellos que estais usando Subversion como sistema de control de versiones, me parece interesante que conozcais qué son y para qué sirven los siguientes elementos: Etiquetas (Tags), Ramas de Desarrollo (Branchs) y Conjuntos de Cambios (Patchsets).
- Etiquetas (Tags). Una etiqueta para SVN es una copia de un directorio, que se hace con el objetivo de obtener una "foto" del mismo, y que no tenemos intención de modificar. Es útil para crear versiones. Por ejemplo, si tengo un repositorio con dos directorios en la raíz, principal y versiones, y bajo versiones quiero ir creando directorios con las diferentes versiones que se vayan publicando, puedo crear una etiqueta /versiones/v1.0 que será una copia de /principal en un determinado instante. De esta forma podría tener un directorio /versiones/v1.0/bin con los ejecutables de la version 1.0; que será una copia (en un determinado instante) de /principal/bin.
- Ramas de Desarrollo (Branchs). Una rama de desarollo SVN, también es una copia de un directorio, pero en este caso nuestra intención es modificarla, para conseguir un producto final diferente y alternativo al original. Resulta muy útil para personalizar una aplicación para diferentes clientes; por ejemplo, puedo tener un directorio ramas en la raíz de mi repositorio, y crear una rama en /ramas/upct que sea una copia de /principal; con la intención de personalizar mi aplicación para la UPCT. Así tendré un directorio /ramas/upct/bin, con los ejecutables de la aplicación para la UPCT, que será una copia (modificable) de /principal/bin.
- Parches o Conjuntos de Cambios (Patchsets). Los conjuntos de cambios, son una forma intermedia de subir cambios al repositorio, de modo que un desarrollador, en lugar de subirlos directamente, crea una patchset y se lo envía a un responsable de cambios -Gestor de la configuración- que será el encargado de instalar el patchset en su directorio de trabajo, probarlo y finalmente (si procede) subirlo al repositorio.
Una vez que sabemos qué son y cual es su utilidad, vamos a ver cómo usar los elementos anteriores desde el cliente TortoiseSVN. Pero antes, os propongo una estructura de directorios que se podría aplicar a cualquier repositorio de software:
/principal
./fuentes
./bin
/versiones
./v1.0
./fuentes
./bin
./v1.1
./fuentes
./bin
/ramas
./r1
./fuentes
./bin
./r2
./fuentes
./bin
Es muy importante que los ejecutables (bin) sean fácilmente extraibles (un directorio aparte), de forma que podamos crear un directorio de trabajo (en cualquier sitio, por ejemplo en Novell) sólo con los ejecutables.
Puedes ver cómo se usan los citados elementos en el manual en castellano de TortoiseSVN:
Autor: Juan Luis Serradilla Amarilla - juanlu@um.es
Fecha de Publicación: 28/06/2005 |
|
Última modificación ( 17.08.2006 )
|