Как найти все элементы в ветке с версией LATEST, к которой не применена метка?
Как сказано в заголовке: я хотел бы найти все элементы, которые находятся на ветке (например, DEV_BRANCH
) с LATEST
версия, но это еще не имеет никакого ярлыка к ним.
Я знаю, как найти элементы, к которым не применена конкретная метка (как в:
- ClearCase: как найти элементы, которые НЕ имеют определенной метки,
- ClearCase: как найти файлы, которые не были помечены как "Label_Name" в CURRENT версии, отфильтрованной по спецификации конфигурации)
Но я не знаю, как найти элементы, к которым не применен какой-либо ярлык.
Заранее спасибо Микаэль
2 ответа
Простейшим способом было бы:
- найти все элементы с версией в правой ветке
найти -тип f -ele "версия (.../myBranch/LATEST)"
- попросите lsvtree и grep для открывающей скобки (имеется в виду хотя бы одна метка)
найти -type f -ele "версия (.../DEV_BRANCH/LATEST)" \ -exec "cleartool lsvtree \"%CLEARCASE_PN%\"" | findstr "DEV_BRANCH\\[0-9]* ("
Вам нужен шаблон в вашей находке (или grep в Unix), чтобы обнаружить:
DEV_BRANCH
- а '
\
' - номер версии
- пробел, за которым следует '
(
'(имеется в виду одна или несколько меток)
Это даст вам список всех элементов с любым ярлыком на нем.
Учитывая, что вы можете сгенерировать список любого элемента с версиями в правой ветке, вам нужно разнести два списка, чтобы извлечь все элементы из первого списка (версии в правой ветке), но не во второй (элемент с этикеткой).
Я не знаю однострочного решения, которое бы сразу перечисляло элементы без меток в данной ветке...
Спасибо VonC,
используя ваш подход к поиску паттеров, я понял, что могу использовать description вместо lsvtree, чтобы найти метки, как показано ниже:
cleartool find . -type f -ele 'version(/main/DEV_BRANCH/LATEST)'
-exec 'cleartool describe -fmt "%n labels:%l\n" $CLEARCASE_PN' | grep labels:\w*$
Это, кажется, делает трюк для меня. Я просто grep для всех элементов, которые дают строку, где нет ничего после строки "label:".
Я думаю, что это делает то, что я хочу. Надеюсь, я не пропускаю файлы без ярлыков...