ClearCase - Как заблокировать файл только на определенной ветви

Может ли кто-то указать мне, чтобы заблокировать файл только на определенной ветви в clearcase? Обратите внимание, что я хочу, чтобы тот же файл был изменен во всех других ветках, над которыми работают другие команды...

Может помочь блокировка ветвей в зависимости от ситуации. Но это не очень хорошая идея. Пожалуйста, поделитесь своими мыслями.

2 ответа

Вы можете заблокировать конкретный экземпляр ветви.

cleartool lock co.exe @@ / main / foo

Блокирует этот экземпляр ветви и запрещает кому-либо изменять эту ветку, в то же время позволяя извлекать и использовать все другие экземпляры - например, ci.exe @@ / main / foo / 2.

В зависимости от настроек вашего представления вам может потребоваться использовать команду lsvtree или cleartool find, чтобы найти все экземпляры веток.

Это было бы не просто clearool lock, так как это заблокировало бы элемент для всех ветвей.

Простой подход будет cleartool checkout -reserved, но это должно предотвратить проверку и на других ветках.

Это оставляет вас с предустановленным триггером извлечения, используя переменные среды триггера CLEARCASE_BRTYPE:

cleartool mktrtype -c "Prevent checkout on a branch" -element -all -preop checkout -execwin "ccperl \\shared\path\to\triggers\lock_on_branch.bat" LOCK_ON_BRANCH

Скрипт будет использовать:

 CLEARCASE_XPN

(Все операции; только триггеры элемента) CLEARCASE_ID_STR, но с добавлением CLEARCASE_PN а также CLEARCASE_XN_SFX значения, чтобы сформировать полное VOB-расширенное имя пути объекта, участвующего в операции.

CLEARCASE_BRTYPE

(Все операции, которые могут быть ограничены типом ветви) Тип ветви, участвующий в операции, вызвавшей срабатывание триггера. В операции переименования старое имя переименованного объекта типа ветви.

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