Обеспечить соблюдение соглашения об именах для базовых показателей UCM

еще один вопрос по ClearCase ...

Над нашим проектом UCM работают около 30 разработчиков со всего мира. Все они могут создавать базовые планы в различных компонентах проекта.

Чтобы иметь общее именование базовых планов, мы определили схему именования базовых планов. Это можно выразить с помощью регулярного выражения. Теперь мы хотели бы сравнить имя создаваемой базовой линии с этим регулярным выражением - потому что соглашения об именах могут быть хорошими, но если вы не применяете их, вам не нужно их определять.

Обычные выражение слишком сложно, чтобы его можно было обрабатывать с помощью базового шаблона именования

(DEV|REV)[0-9]+_PartOfComponentName_.*


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

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

Так есть ли способ обеспечить соблюдение соглашения об именах для базовых показателей в UCM ClearCase - без множества устаревших базовых показателей?

Спасибо, что прочитали!


person user2606240    schedule 19.03.2014    source источник


Ответы (1)


Непросто, как описано в этой ветка:

Переменная среды CLEARCASE_BASELINES недоступна для preop mkbaseline триггеров.
Это связано с тем, что в качестве значения заданы имена созданных объектов базы данных, которые могут не точно совпадать с именами, указанными в командной строке (это особенно верно, если mkbaseline команда была запущена для нескольких компонентов).

Если вы не используете графический интерфейс, вы можете проанализировать базовое имя из переменной среды CLEARCASE_CMDLINE, которая доступна, когда триггеры запускаются операциями командной строки.

Если вам нужно сделать это в графическом интерфейсе, я боюсь, что на данный момент единственным решением будет собственный сценарий / исполняемый файл оболочки CC.

Поэтому проверьте, что включает CLEARCASE_CMDLINE, чтобы вы могли проверить имя.

person VonC    schedule 19.03.2014
comment
Спасибо за ответ. Я тоже нашел эту ветку. Но, к сожалению, возникает вопрос: как я могу создать собственный сценарий / исполняемый файл оболочки CC? не получил ответа. Как я уже сказал, я не хочу ограничивать пользователей командной строкой, им должно быть разрешено использовать графический интерфейс (и тогда CLEARCASE_CMDLINE недоступен). - person user2606240; 19.03.2014