Базовый уровень
Есть ли способ получить базовую информацию компоста из текущего представления в командной строке.
Я использую команду в моем сценарии. Он отображает список команд, которые включают составные и базовые линии ovverride в моем представлении.
cleartool lsstream -fmt "% [found_bls] NXp \ n" -view $ VIEW_NAME
Мне нужна только составная базовая линия в качестве вывода для моей команды.
Есть ли какая-либо команда для определения составной базовой линии в текущем представлении? Пожалуйста, помогите.
2 ответа
Я предполагаю, что ваши составные базовые линии являются компонентами без корней, поэтому вы можете проверить компоненты и отобразить только без корневых компонентов. Ты можешь использовать cleartool describe
для этого.
Составная базовая линия может перечислять ее непосредственные зависимости, поэтому, как описано в этом сценарии, вы можете попытаться перечислить их для каждой базовой линии.
тот, который возвращает результат (без ошибок), является вашей составной базой.
cleartool describe -fmt "%[depends_on]Np\n" {baseline selector}
Однако, основываясь на моем предыдущем ответе о " поиске в выходной строке и сохранении в переменной", вы можете описать каждую базовую линию, запросить ее зависимости и найти строку, содержащую arobase '.@
":
Только составные базовые линии будут возвращать полностью квалифицированные базовые имена с аробазой в них, в отличие от несоставной базовой линии, которая будет возвращать... ничего)
cleartool lsstream -fmt "%[found_bls]CXp" -view $VIEW_NAME | tr -s " " "\012" | xargs cleartool descr -fmt "%n %[depends_on]Cp" | grep "@" | sed -e "s/ .*//"
Для большей наглядности:
cleartool lsstream -fmt "%[found_bls]CXp" -view $VIEW_NAME \
| tr -s " " "\012"
| xargs cleartool descr -fmt "%n %[depends_on]Cp"
| grep "@" | sed -e "s/ .*//"