Команда для удаления ветвей элемента Clearcase с версиями "0"
Что такое команда в Clearcase, чтобы удалить ветви элемента, в котором он не изменен (версия элемента в этой ветви - "0")?
2 ответа
Вы можете просто удалить версию 0 этого элемента (которую я подробно описал здесь).
Это удалит связанную ветку.
cleartool rmver file@@/main/aBranch/0
Вам нужно будетcleartool find
"все элементы с версией 0 (и без версии 1), и rmver
те версии 0.
Для данной ветви это вернуло бы все версии для удаления:
cleartool find -type f -version "version(.../blah/LATEST)&&version(.../blah/0)" -print
Вы можете комбинировать это с директивой exec:
# on Windows:
cleartool find ... -exec "cleartool rmver --force \"%CLEARCASE_XPN%\"
# on Unix:
cleartool find ... -exec 'cleartool rmver --force "$CLEARCASE_XPN\"'
Будь осторожен с rmver
, это разрушительная операция, поэтому тщательно проверьте ее перед выполнением полной find -exec rmver
команда!
Другой подход упоминается в статье Джорджа Фрейзера " Очистка элементов с нулевой версией в ClearCase":
Вы должны очистить свой взгляд от этих проблемных сущностей.
Выполните следующую команду, чтобы найти все элементы нулевой версии:
cleartool find -avobs -branch'{
brtype(mybranch)&&!
(version(.../mybranch/1))}'
-print > c:\files.txt
Это найдет все элементы без версии 1 на
mybranch
(если вы внимательно прочитаете, вы заметите, что это не будет делать правильно, если вы удалили 1 версию элемента, у которого уже есть версии, большие или равные 2 - хотя это редкая ситуация).
Когда закончите, это просто вопрос использованияrmbranch
уничтожить элементы (убедитесь, что вы знаете, что делаете здесь!).
Есть много способов сделать это; так как я запускаю инструментарий MKS, я выполняю следующее из командного окна:
cleartool rmbranch -f 'cat c:\files.txt'
Tamir Gefen предлагает триггер для автоматического удаления версии 0, как указано в IBM Rational ClearCase: десять лучших триггеров, в разделе Пустая ветвь.
cleartool mktrtype -c "Automatically remove empty branch" -element -all -postop uncheckout -execwin "ccperl \\mw-ddiebolt\triggers\test_empty_branch.bat" REMOVE_EMPTY_BRANCH
Это хорошо для будущих случаев, когда проверка отмены оставляет версию 0.
Rmver не будет работать.
/ home / ccadmin $ cleartool rmver -force./VaREngine/Makefile@@/main/nz_mig/nz_relOne/0 cleartool: Ошибка: невозможно удалить нулевую версию без удаления ветки: "./VaREngine/Makefile".