fmt_ccase
содержит всю строку формата для различных элементов ClearCase.
Для версии файла, вы можете:
cleartool descr -fmt "%l\n" /path/to/a/version
%l
Этикетки: Для версий, все подключенные к нему метки; нулевая строка в противном случае.
Этикетки выводятся как список, разделенный запятой, заключенный в круглые скобки.
A <SPACE>
знак следует за каждой запятой.
Варианты:
%Cl
Макс этикетки: Определяет максимальное количество меток для отображения с параметром макс поля ширины (см Specifying field width).
Если на этикетке больше ярлыков, к выходу добавляется «...
».
Если не указана максимальное поле ширины, значение по умолчанию максимального не 3.
%Nl
Нет запятых: Подавить скобки и запятые в выходе списка этикеток;
отдельные этикетки с пробелами.
Таким образом, результат может быть:
Labels: (Rel3.1C, Rel3.1D, Rel3.1E)
Labels without commas or parens: Rel3.1C Rel3.1D Rel3.1E
В обоих случаях, вам все еще нужно разобрать результат, но, по крайней мере, на выходе может содержать только ярлыки, как в:
Rel3.1C Rel3.1D Rel3.1E
onaclov2000 добавляет (с комментариями):
Единственная проблема заключается в том, что вы захватываете метку на конкретной версии файла.
Учитывая, что ветки и т. Д. Могут существовать, нам нужно будет получить ВСЕ метки на файле.
Если вы используете дерево версий графическое и выберите инструменты -> «найдите», вы можете увидеть ВСЕ ярлыки, прикрепленные к этому файлу.
Есть ли общая команда в cleartool, которая вернет результаты «locate» или «contents»?
lsvtree
(графическая версия дерево) делает отображать метки всех версий элемента в настоящее время рассматривается в виду, когда вы нажимаете «Метка Name»
Это, как говорится, не кажется, что будет решение «встроенный» и некоторые синтаксический участвует:
например (который немного короче, чем версия OP, но по-прежнему базируется на cleartool ls
):
ct ls -l [email protected]@|grep version|gawk "{gsub(/^version.*@@\\\\/,\"\",$0) ; gsub(/ \ [.*/,\"\",$0); print $0}"
(GnuWin32 синтаксис)
или только с динамическим видом:
cd m:/myView/path/to/[email protected]@
# list all files, not directories: the files are the labels
dir /B /A-D
@Haiyuan: только что завершил мой ответ на список * все * ярлыки файла. Я не боюсь, что «встроить» решение. – VonC