Как мне перечислить версии Clearcase без полной версии? - PullRequest
1 голос
/ 11 мая 2010

в прозрачном корпусе: Я пытаюсь найти имена всех файлов в текущем представлении без определенной метки. До сих пор я придумал следующее:

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

Но это заканчивается отображением имен файлов с добавленным в конце "@@ / main / BRANCH1 / SUBBRANCH", и я действительно хочу просто имя файла.

Я пытался добавить -short, но команде find эта опция не нравится, и я не могу найти в руководствах опцию, чтобы изменить поведение.

Ответы [ 2 ]

0 голосов
/ 11 мая 2010

Нашли:

-nxname
Удаляет расширенный символ именования (по умолчанию @@) и любой последующий идентификатор версии или путь к ветви из имени каждого выбранного объекта. Дубликаты имен, возникающие в результате этого преобразования, подавляются. По сути, эта опция преобразует расширенные имена в стандартные имена операционных систем; он также преобразует имена веток или версий в имена элементов.

Итак

 cleartool find . -cview -nxn -version '\!lbtype_sub(LABEL_1)' -print

печатает все файлы в текущем представлении и каталоге (и подкаталогах) без метки LABEL_1

0 голосов
/ 11 мая 2010

При необходимости вы можете объединить поиск с директивой exec (протестируйте оба):

cleartool find -cview -all -element '\!lbtype_sub(LABEL_1)' -print

cleartool find -cview -all -element '\!lbtype_sub(LABEL_1)' -exec 'cleartool descr -fmt "%En\n" "$CLEARCASE_PN"'

Примечания:

  • Синтаксис Unix
  • -element '\!lbtype_sub(LABEL_1)' ищет все элементы (файлы) без версии с определенной меткой (отсюда _sub, связанный с запросом lbtype)
  • fmt является директивой fmt_ccase для команды describe.
  • "% En": Имя элемента: для объекта файловой системы, его стандартного имени файла или элемента или его пути; для объекта типа его имя.
  • "$CLEARCASE_PN" находится в двойных кавычках, поскольку в его пути / имени файла могут быть пробелы.

Как отмечено в собственном ответе OP ( Luciano ), если вам не нужно видеть все элементы (включая удаленные), но только элементов, видимых в данный момент в представлении, достаточно -nxname:

cleartool find -cview -nxn -element '\!lbtype_sub(LABEL_1)' -print

Я все еще использую -element вместо -version, потому что это намного быстрее и позволяет избежать ненужных дубликатов.

...