Pergunta

Eu estou procurando um comando ClearCase que irá listar todos os elementos que são visíveis no meu ponto de vista atual, mas fazê não tem um rótulo específico aplicado a eles.

Digamos, por exemplo, a maioria dos elementos que são visíveis na minha opinião têm LABEL_X aplicado a eles. Quero uma lista dos elementos que não têm LABEL_X .

Eu, obviamente, precisa usar cleartool find, mas o uso ea página man ClearCase defletor mim em termos de como construir uma consulta como esta.

Foi útil?

Solução

Isso deve funcionar:

ct find -all -ele '! lbtype_sub(LABEL_X)' -print
ct find -ele '! lbtype_sub(LABEL_X)' -print

Notas:

  • ct significa cleartool
  • Unix sintaxe aqui (para Windows, substituir aspas simples com aspas)
  • cuidado com o espaço entre ! e lbtype_sub (em winodws você não precisa do espaço)
  • -ele muito importante para obter apenas uma ocorrência de um determinado arquivo (e nem todas as diferentes versões de um arquivo correspondente a um critério)

-ele limita a pesquisa aos elementos, e não versões (que provocaria um muito mais resultados com versões envolvidos ...)

lista -all todos os elementos incluídos "excluído" (isto é "sem referência") queridos.
somente as listas segunda linha visível elementos (na visão atual)

Você deve executar essas segundas linhas de comando no sub-diretório de sua escolha dentro de um determinado ClearCase (instantâneo ou visão dinâmica): todos os arquivos dentro dessa sub-diretório (e sub-sub-diretórios ...) coincidindo com os cirtérios vai ser listados.

Advertências:

  • arquivos e diretórios são listados. Se você quiser apenas os arquivos, adicione -type f para a consulta:

    CT encontrar -type f -ele '! Lbtype_sub (LABEL_X)' -print

  • o que é exibido é o caminho estendida para elementos, que é o nome do arquivo seguido com @@.

para listar apenas o nome sem @@, use '-nxn' (sem opção extendedpathname)

ct find -nxn -ele '!lbtype_sub(LABEL_X)' -print

Outra forma mais complexa, mas também mais completa a lista apenas o nome, sem @@, é usar descr -fmt. Por exemplo:

ct find . -ele "!lbtype_sub(LABEL_X)" -exec "cleartool descr -fmt \"%En %d\n\" \"%CLEARCASE_PN%\""

ct find . -ele '! lbtype_sub(LABEL_X)' -exec 'cleartool descr -fmt "%En %d\n" "$CLEARCASE_PN"'

iria dar-lhe (em janelas ou sintaxe unix) a data eo nome dos arquivos e diretórios não rotulados LABEL_X.

Com isso descr -fmt 'display, você pode combinar qualquer tipo de informação e apresentação que você deseja para o resultado.

Outras dicas

Acima funciona, mas lembre-se de -cview specifiy para obter apenas o ponto de vista atual, caso contrário você vai obter os arquivos de todos os outros pontos de vista também.

eu precisava usar o seguinte no meu Linux Clearcase instalar:

cleartool find -cview -all -version '\!lbtype(LABEL_X)' -print

A sintaxe da postagem de VonC não funcionou corretamente com o "!" não sendo escapou.

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