Как я понимаю ваш вопрос, звучит так, как будто вы хотите каким-то образом выбрать команду из меню (ов) Clearcase RC и явно создать ветку (?)
У Clearcase нет явной команды «Создать ветвь для этого файла»; Вы хотели бы команду «Оформить заказ» в этом случае. Ветвление является косвенным и является результатом проверки версии файла в представлении, в котором есть спецификация конфигурации с операцией '-mkbranch'. То есть следующая спецификация конфигурации создаст dev_1.0_branch
, как только я его проверю (для любых и всех vobs и файлов):
element * CHECKEDOUT
element * .../dev_1.0_branch/LATEST
element * /main/LATEST -mkbranch dev_1.0_branch
Первая строка стандартна для представлений, в которых вы разрабатываете, строка 2 будет гарантировать, что я вижу любой файл с dev_1.0_branch
(особенно важно, чтобы checkout + mkbranch работал должным образом :-), и строка 3 выберет самую последнюю версию любого файла, который не имеет dev_1.0_branch
, а создаст ветвь, если (и только если) версия файла, выбранная этим правилом, извлечена.
Пожалуйста, дайте мне знать, звучит ли вам что-либо из перечисленного выше, в частности, какие-либо из правил спецификации конфигурации. Поработав с ClearCase в течение длительного времени, я предполагаю и использую многие термины и понятия, как если бы это было общеизвестно: -P.
Одно замечание: если вы извлекаете файл, а затем сразу снимаете флажок с этого файла, вы оставляете пустую ветвь для этого файла (т. Е. В приведенном выше у вас будет файл с такой версией, как: foo.c @@ / main / dev_1.0_branch
/ 0, но нет / main / dev_1.0_branch
/ 1 версия). Многие сайты предпочитают содержать дерево версий в чистоте и удалять пустые ветви (об этом можно прочитать в этой технической статье IBM Rational )
Просто чтобы прояснить ситуацию, я знаком с ClearCase Base и ClearCase MultiSite, но еще не работал с удаленным клиентом.
--- Обновление 2009-июнь-29
В ответ на комментарий Павла ниже, если вы хотите быть разборчивыми в том, какие файлы разветвляются, вы можете изменить «*», чтобы быть более конкретным. Например, если вы хотите разветвлять foo.c в VOB FOODEV, но все остальное оставьте на main:
Конфигурация UNIX:
element * CHECKOUT
element * .../my_dev_branch/LATEST
element /vobs/FOODEV/src/foo.c -mkbranch my_dev_branch
element * /main/LATEST
(Для окон вы хотели бы использовать соглашения Windows. I.e. \ FOODEV \ src \ foo.c).
Вы также можете выбрать каталог и все элементы ниже каталога (снова спецификации конфигурации UNIX):
element * CHECKOUT
element * .../my_dev_branch/LATEST
element /vobs/FOODEV/src/mycomponent/... -mkbranch my_dev_branch
element * /main/LATEST
Главная страница для конфигурации _
spec (cleartool man config_spec из командной строки в Windows или Unix) содержит подробное руководство в разделе «Шаблон» о том, как написать селектор элемента / версии (2-й столбец).
Вы можете сделать много сложного выбора версии со спецификациями конфигурации. Пожалуйста, дайте мне знать, если вы хотите получить более подробную информацию или подробности.