Cleartool: Как применить метку к файлам, которые находятся только в моем текущем представлении? - PullRequest
8 голосов
/ 14 декабря 2011

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

cleartool mklabel -r TEST_LABEL /vob/test/a

Однако проблема в том, что эта команда будет применять метку "Test_Label" ко всем файлам в каталогах "vob/test/a" независимо от того, являются ли файлыв моем текущем представлении.
Существует ли какая-либо команда для применения метки только к файлам, перечисленным в моем текущем представлении?

Ответы [ 3 ]

5 голосов
/ 24 апреля 2015
cleartool mklabel  -r(ecurse) LABEL_NAME <directory name>

Эта команда будет применять LABEL_NAME ко всем файлам в папке и под вашим обзором. Вы можете просто перейти в этот каталог, а затем набрать следующую команду, чтобы создать и применить метку

> cd /vob/test/a
> cleartool mklbtype –nc TEST_LABEL 
> cleartool mklabel  -r TEST_LABEL .
1 голос
/ 14 декабря 2011

В документации mklabel указано, какая версия помечена:

Обрабатывает все поддерево каждого pname, являющегося элементом каталога (включая сам pname),Символические ссылки VOB не пересекаются во время рекурсивного спуска в поддерево.

В одном примере упоминается:

Прикрепите этот ярлык к версии текущего каталога, выбранного вашим представлением , и к в настоящее времявыбранная версия каждого элемента в текущем каталоге и ниже .


Теперь, если вы хотите, чтобы действительно были уверены в том, что версии действительно помечены, одним из решений является использование команды find в сочетании с вашим mklabel:

cleartool find . -cview -exec "cleartool mklabel TEST_LABEL \"%CLEARCASE_XPN%\""

Если вы уже применили эту метку к неверной версии и хотите переместить ее:

cleartool find . -cview -exec "cleartool mklabel -replace TEST_LABEL \"%CLEARCASE_XPN%\""

Таким образом, вы можете сначала список версийвовлечено:

cleartool find . -cview -print

И затем, если вы согласны с выводом, примените директиву mklabel через -exec.

OP user1096966 создание отчетовон работает с cleartool ls, чтобы убедиться, что выбран только элемент видимый в текущем представлении:

cleartool ls -r -vis

нет директивы -exec, поэтому может быть задействован канал, как в (не проверено, но вы поняли):

cleartool ls -r -vis -s -nxn | xargs cleartool mklabel -replace TEST_LABEL
0 голосов
/ 22 февраля 2012

Доку действительно ясно о том, что маркируется, фактически первый пример, показанный в доко, гласит, что точно ... объекты текущего представления помечены по умолчанию и текущими выбранными версиями (т. Е. Если в вашем представлении помечают его, иначе нет.)

.... извлеките ниже из документа ниже (примечание: контекст и команда, и что pname метки-типа-селектора является последним параметром ... оставлено пустым ниже, потому что находится в рабочем каталоге) ...

Пример: • Создайте тип метки с именем REL6. Прикрепите эту метку к версии текущего каталога, выбранного вашим представлением, и к текущей выбранной версии каждого элемента в и ниже текущего каталога. cmd-context> mklbtype –nc REL6

Привет

Jim2

...