Pregunta

Por ejemplo, en lugar de escribir la siguiente:

element * .../my_branch_01/LATEST
element * .../base_branch/LATEST -mkbranch my_branch_01

Me gustaría escribir algo como esto:

MY_BRANCH=my_branch_01
element * .../%MY_BRANCH%/LATEST
element * .../base_branch/LATEST -mkbranch %MY_BRANCH%

Es esto posible? ¿Cuál es la sintaxis correcta?

¿Fue útil?

Solución

La única forma nativa a hacer esto en ClearCase es utilizar atributo dentro de un config-spec .

De acuerdo con la noreferrer reglas selector versión, usted puede hacer una 'selección por consulta' regla, basada por ejemplo en un atributo:

element * ...{MY_ATTRIBUTE_NAME=="aValue"}

seleccionaría la versión LATEST en cualquier rama con un atributo 'MY_ATTRIBUTE_NAME' con 'aValue' en ella.

Eso quiere decir que tenga que cambiar el valor del atributo en la rama de edad, lo puso en la nueva rama, 'cleartool setcs' la vista de nuevo, y usted debe tener un nuevo contenido sobre la base de una nueva versión de la selección.

No es muy sencillo, pero podría funcionar, a excepción de la parte mkbranch (que necesita un nombre fijo).


En cuanto a de GeekCyclist respuesta , una algunos comentarios:

La solución para incluir una especificación de configuración común puede trabajar para solución Base ClearCase, pero:

  • necesitan estar en una parte disponible por todos desarrollador en cuestión
  • la setcs es de hecho necesario Ccuses la view_server para limpiar sus cachés y reevaluar la especificación de configuración actual, que se almacena en config_spec archivo en el directorio de vista de almacenamiento . Esto incluye:
    • La evaluación de las reglas de tiempo con especificaciones no absolutas (por ejemplo, ahora, martes)
    • Reevaluando reglas -config, posiblemente la selección de diferentes objetos derivados que antes
    • archivos relectura nombrados en reglas incluyen
  • todos los demás desarrolladores necesitan para ser notificado cuando la configuración común incluye cambios en los archivos de especificaciones (no hay ninguna notificación nativo incluido en ClearCase)

Si es necesario tener un "medio ambiente" (es decir, una "vista" o espacio de trabajo) con un contenido variable (en función de una rama diferente), es necesario definir un enlace simbólico (o un subst ventanas) apuntando a diferentes puntos de vista (cada uno con su propia especificación de configuración)

De este modo, es suficiente con cambiar el enlace (o el camino subst'ed) con el fin de cambiar la especificación de configuración asociada con un fijo ruta dada.

Otros consejos

Ha sido un tiempo desde que trabajé en ClearCase (nos cambiamos a la subversión), pero si no recuerdo mal no hay manera de hacer esto nativo de ClearCase.

Se puede usar o escribir un generador de secuencia de comandos que crearía el archivo de especificación y luego incluirlo en la especificación actual:

element * CHECKEDOUT
include scripted_file_output

A continuación, ejecute

cleartool setcs -current

El problema con este enfoque es que creo que la incluyen tendría que ser regenerados y los setcs cleartool ejecutar especificaciones cada vez que cambie el valor de MY_BRANCH.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top