Tutorial sobre selectores (I)

9:56 0 Comments

QUÉ ES UN SELECTOR. NECESIDAD DE LOS SELECTORES.

Un selector es una herramienta sintáctico-descriptiva que permite al usuario indicar qué ficheros desea obtener del repositorio en su espacio de trabajo. La necesidad de tal herramienta se debe a que no siempre desearemos obtener la última versión existente, sino que en ocasiones desearemos crear espacios de trabajo locales con un release pasado, una versión etiquetada de una determinada forma o el contenido de una rama en particular, con el objetivo de realizar una revisión del código o reparar un error.
Mediante el uso de selectores, por tanto, el usuario puede elegir sobre qué ítems del repositorio desea trabajar.

CÓMO LO IMPLEMENTA PLASTICSCM.


Un selector es una especificación de qué revisiones de qué ítems serán descargados al espacio de trabajo local. Como consecuencia de la necesidad de un selector, es necesario también indicar en qué rama se crearán las desprotecciones de las nuevas revisiones creadas fruto de los cambios realizados sobre tales ítems.

El selector más común es el que se tiene por defecto al crear un espacio de trabajo nuevo, que tiene este aspecto:



Tal especificación indica que se tomarán ítems del repositorio default, del cual se descargará todo aquello que esté directamente bajo el directorio raíz, en la rama principal. Las desprotecciones y cambios en los ítems descargados irán a parar a la propia rama principal.

En lugar de descargar una rama podemos indicar que deseamos descargar una etiqueta, un grupo de cambios (changeset) o una revisión de un ítem determinada. Lo que siempre hay que tener en cuenta es que debemos indicar una rama que almacenará los cambios realizados, es decir, hay que indicar una rama de checkout. La sintaxis para la especificación de un selector es la siguiente (haga clic sobre la imagen para verla más grande):

Podemos indicar un número de revisión concreta o bien la primera (FIRST) o la última (LAST) disponible; indicar un changeset determinado, una rama concreta o una etiqueta marcada. Podemos descargar directorios recursivamente o no, según sea nuestra intención. La sintaxis admite algunas expresiones regulares, con lo cual podemos especificar ficheros de una determinada extensión, de un determinado patrón de caracteres en el nombre, etc. Ejemplo:


repository "codice"

path "/01nerva/doc/*.doc"

lb "BL034"

path "/01nerva/doc" norecursive

lb "BL034"

path "/01nerva" norecursive

lb "BL034"

path "/" norecursive

br "/main"

Este selector descargaría del repositorio codice, utilizando la ruta /01nerva/doc/ todos los ficheros con extensión .doc etiquetados con BL034, además de todos los ficheros del directorio padre, del directorio abuelo y del directorio raíz que estén en la rama principal etiquetados de la misma forma. Conviene fijarse en que solamente se descargará el camino que va desde la raíz hasta el directorio de documentación, y que si tal direcotorio doc tuviera directorios hermanos (en el mismo nivel), éstos no serían descargados. Esto se debe a la opción norecursive utilizada en la especificación de path de los directorios de nivel superior.

0 comentarios: