Pergunta

Por exemplo, em vez de escrever o seguinte:

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

Eu gostaria de escrever algo como isto:

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

Este é mesmo possível? O que é a sintaxe correta?

Foi útil?

Solução

A única maneira nativa para fazer isso no ClearCase é usar atributo dentro de um config-especificação .

De acordo com o regras versão do seletor , você pode fazer uma 'seleção por consulta' regra, com base, por exemplo, em um atributo:

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

selecionaria a versão LATEST em qualquer ramo com um atributo 'MY_ATTRIBUTE_NAME' com 'aValue' nele.

Isso significa que você precisa para mudar o valor do atributo no velho ramo, colocá-lo no novo ramo, 'cleartool setcs' sua visão novamente, e você deve ter um novo conteúdo com base em uma nova seleção versão.

Não muito para a frente, mas poderia trabalhar, exceto a parte mkbranch (que precisa de um nome fixo).


Em relação de GeekCyclist resposta , um alguns comentários:

A solução para incluir uma especificação de configuração comum pode trabalhar para solução ClearCase Base, mas:

  • necessidade de estar em uma parte disponível por todo o desenvolvedor preocupado
  • setcs é realmente necessário Ccuses o view_server para liberar seus caches e reavaliar a especificação de configuração atual, que é armazenado em config_spec arquivo no diretório de exibição de armazenamento . Isso inclui:
    • Avaliando regras relativas ao tempo com as especificações não absoluta (por exemplo, agora, terça-feira)
    • regras reavaliando -config, possivelmente selecionando objetos derivados diferentes do que anteriormente
    • arquivos nomeados em Re-lendo incluir regras
  • todos os outros desenvolvedores precisam para ser notificado quando o comum incluído config-alterações de arquivos de especificações (não há nenhuma notificação nativo incluído no ClearCase)

Se você precisa ter um "ambiente" (ou seja, uma "visão" ou espaço de trabalho) com um conteúdo variável (dependendo de um ramo diferente), você precisa definir um link simbólico (ou um subst janelas) apontando para diferentes pontos de vista (cada um com a sua própria especificação de configuração)

Dessa forma, você só tem que mudar o link (ou o caminho subst'ed), a fim de alterar a especificação de configuração associado a um determinado fixa caminho.

Outras dicas

Tem sido um tempo desde que eu trabalhava em ClearCase (nós mudamos para Subversion), mas se bem me lembro não há nenhuma maneira de fazer isso nativa do ClearCase.

Você pode usar ou escrever um gerador de script que iria criar o seu arquivo de especificações e, em seguida, incluir que na especificação actual:

element * CHECKEDOUT
include scripted_file_output

Em seguida, execute

cleartool setcs -current

O problema com esta abordagem é que eu acredito que o incluem especificações que precisam ser regenerados e os setcs cleartool executado sempre que você alterar o valor de MY_BRANCH.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top