fmt_ccase
содержит все строки формата для различных элементов ClearCase.
Для версии файла вы можете:
cleartool descr -fmt "%l\n" /path/to/a/version
%l
Ярлыки : Для версий все прикрепленные этикетки; пустая строка в противном случае.
Метки выводятся в виде списка через запятую, заключенного в скобки .
Символ <SPACE>
следует за каждой запятой.
Варианты :
%Cl
Макс. Меток : укажите максимальное количество меток для отображения с параметром max-field-width (см. Указание ширины поля ).
Если имеется больше меток, к выводу добавляется «...
».
Если max-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 добавляет (из комментариев):
Единственная проблема с этим заключается в том, что вы захватываете ярлык на определенной версии файла.
Учитывая, что ветки и т. Д. Могут существовать, мы должны иметь возможность получать ВСЕ метки в файле.
Если вы используете графическое дерево версий и выбираете инструменты -> «найти», вы можете увидеть ALL метки, прикрепленные к этому файлу.
Есть ли в cleartool общая команда, которая будет возвращать результаты "locate" или "contents"?
lsvtree
(графическое дерево версий) отображает метки всех версий элемента, видимых в данный момент при просмотре, когда вы нажимаете «Имя метки»
При этом, похоже, нет "встроенного" решения, и требуется некоторый анализ:
Например (который немного короче, чем версия OP, но все еще основан на cleartool ls
):
ct ls -l addon.xml@@|grep version|gawk "{gsub(/^version.*@@\\\\/,\"\",$0) ; gsub(/ \ [.*/,\"\",$0); print $0}"
(синтаксис GnuWin32)
или, только с динамическим просмотром:
cd m:/myView/path/to/addon.xml@@
# list all files, not directories: the files are the labels
dir /B /A-D