Просмотрите параметры "Формат строки для вывода команды" (fmt_ccase) :
cleartool descr -fmt "%[root_dir]p" component:aComponent@\aPVob
Вы можете получить этот путь в корневой каталог (обычно \aVob
для «компонента vob» или «\aVob\aRootDir
» для компонентов внутри Vob).
Оттуда для управления доступом к определенным базовым показателям компонентов UCM в представлениях не-UCM вы можете следовать подходу, аналогичному " Слияние из проекта в филиал не-UCM"в скрипте perl (сделано для слияния, но вы можете адаптировать его, чтобы создать спецификацию конфигурации для указанного представления без UCM):
Этот скрипт ниже для проектов, в которых используются рекомендуемые базовые показатели, и приведен в качестве примера использования "%[root_dir]p
".
Если вы не используете рекомендуемые базовые показатели, вы просто перечислите все компоненты для данного потока:
cleartool descr -fmt "%[components]CXp" stream:aStream@\aPVob
print("######## Getting recommended baselines for project
'$project'\n");
my @recbls = split(' ', ‘cleartool lsproject -fmt "%[rec_bls]p"
$project‘);
foreach $bl (@recbls) {
my $comp = ‘cleartool lsbl -fmt "%[component]p" $bl‘;
my $vob = ‘cleartool lscomp -fmt "%[root_dir]p" $comp‘;
#... build your config spec there
}
# call cleartool setsc there
Затем вы сгенерируете (и примените к спецификации конфигурации) файл, похожий на ваш другой вопрос " Спецификация конфигурации Clearcase ведет себя странно при использовании setcs
command ".
ОП сообщает, что этот подход работает, используя Powershell:
(у него изначально были проблемы с моим примером, скопированным с сайта IBM, где дефисы-минус '-
' заменены не-ASCII минус '–
':, '- vs. –: -–
': см. " Что такое самая трудная ошибка, которую вы когда-либо находили и исправляли?"):
$project="MyComponents@\My_PVOB"
$pvob="@\My_PVOB"
$Baselines=(cleartool lsproject -fmt "%[rec_bls]p" $project).split()
foreach ($bl in $Baselines) {
$comp=cleartool lsbl -fmt "%[component]p" $bl"$pvob"
$vob = cleartool lscomp -fmt "%[root_dir]p" $comp"$pvob"
}