Доступ к переменным среды в спецификации конфигурации Clear Case

Можно ли получить доступ к переменным среды в спецификации конфигурации в clearcase.

У меня есть этот код:

element /folder/... /main/current_branch/LATEST

Я хочу настроить свою разработку так, чтобы я мог обновить ветку, просто установив некоторые envvars. Я бы хотел, чтобы что-то подобное заработало, возможно ли это?

element /folder/... /main/$current_branch/LATEST

где $current_branch должен возвращать текущий набор ветвей в этой переменной среды.

2 ответа

Решение

AFAIK, это невозможно.

То, как я это делаю, - это наличие шаблонов, которые я заполняю (автоматически). Но я также использую отдельные представления; Представления одноразовые, и я регулярно перестраиваю свои представления (каждую неделю, каждые пару недель, иногда несколько раз в день, если мне нужно быть уверенным в чистоте сборок).

Я бы показал вам свои сценарии, но их очень много, и они довольно сложно переплетены друг с другом и с имеющейся у нас рабочей средой (несколько, но перекрывающихся VOB для каждой из ряда основных версий ряда продукты, с некоторыми частями спецификации конфигурации, предоставленной CM, и пользовательскими преамбулами для определения того, над чем я работаю). Мы используем ClearCase около 18 лет.

В результате получается спецификация конфигурации для ветви исправления ошибок, которая выглядит следующим образом:

# @(#)$Id:243260.jleffler.toru.cs,v 1.1 2011/08/30 15:23:02 jleffler Exp $
#
# Config Spec for Bug 243260 - Blah, blah, blah, blah

element * CHECKEDOUT
element * .../TEMP.243260.jleffler/LATEST
mkbranch -override TEMP.243260.jleffler

#time 26-Jul-2009.00:00:00UTC-08:00

element /vobs/main_vob/...  /main/LATEST
element /vobs/other_vob/...        dist.1.00 -nocheckout

include /atria/cspecs/product/1.23/product-1.23.4
#include /atria/cspecs/product/1.16/product-1.16.8

element * /main/LATEST

Бит между закомментированной меткой времени и правилом всеохватывающей информации предоставляется CM. Бит над отметкой времени настраивается для ветви (TEMP.243260.jleffler - она ​​идентифицирует ее как временную ветвь, исправление ошибки, для которого она предназначена, и кто выполняет работу). Шаблон на самом деле перечисляет около 10 различных настроек конфигурации от CM, и я просто удаляю те, которые не имеют отношения. Имя представления зависит от номера ошибки, моего логина и компьютера, на котором оно создано (toru). Я замаскировал большинство остальных, но он основан на ошибке cspec, которую я создал ранее сегодня. мой bug.view Сценарий взял номер ошибки, описание, путь к рабочему хранилищу представления и VOB, где мне нужно было создать ветку, и она ушла и автоматически все настроила. (И я все еще достаточно архаичен, чтобы использовать RCS, чтобы держать свои cspecs под контролем.)

Некоторые из моих взглядов длятся долго (по имени). Например, текущее справочное представление о выпуске будет существовать в течение более 5 лет, в течение которых выпуск будет поддерживаться. Он будет перестраиваться сотни раз за этот период, но имя останется прежним: prod-1.23-ref.jleffler.toru, Таким образом, cspec для этого будет меняться со временем, так как требуется другая работа, но базовый cspec состоит из трех строк - CHECKEDOUT, включает стандартный файл конфигурации, предоставленный CM, и LATEST.

Нет, я никогда не видел спецификацию конфигурации, основанную на переменной среды.
Я посмотрел на справочную страницу config_spec, написание спецификации конфигурации и " Как работает спецификация конфигурации": ни одна из них не ссылается на такую возможность

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

Примечание: не забывайте, что ваш current_branch может не всегда происходить напрямую от /main, Я предпочитаю использовать синтаксис:

 element /folder/... .../my_branch/LATEST

для того, чтобы выбрать my_branchвне зависимости от его прямой "родительской" ветви (хотя в базовой ClearCase нет реальной "родительской" ветви).

Другие вопросы по тегам