Как выполнить рекурсивную проверку с использованием ClearCase?
-
09-06-2019 - |
Вопрос
Я хочу проверить все файлы во всех подкаталогах указанной папки.
(И это болезненно делать с помощью графического интерфейса, потому что нет опции рекурсивного извлечения).
Решение
Осторожно: ClearCase ориентирован на файл, а не на репозиторий (например, SVN или CVS).
Это означает, что это редко - хорошее решение для извлечения всех файлов (и это может быть довольно длинным с ClearCase;))
При этом вопрос совершенно законный, и я хотел бы указать на другой путь:
откройте сеанс cleartool
в «указанной папке»:
c:\MyFolder> cleartool
cleartool> co -c "Reason for massive checkout" .../*
тоже делает свое дело. Но в качестве ответа aku он извлекает все : файлы и каталоги ... и вам больше всего не нужно проверять каталоги! Р>
cleartool find somedir -type f -exec "cleartool checkout -c \"Reason for massive checkout\" \"%CLEARCASE_PN%\""
будет только извлекать файлы ...
Теперь проблема состоит в том, чтобы проверить все, что изменилось. Это проблематично, поскольку часто не все изменяется, и CleaCase будет выдавать сообщение об ошибке при попытке проверить идентичный файл. Это означает, что вам понадобятся 2 команды:
ct lsco -r -cvi -fmt "ci -nc \"%n\"\n" | ct
ct lsco -r -cvi -fmt "unco -rm %n\n" | ct
(с ct
, равным cleartool
': введите' doskey ct = cleartool $ *
'в Windows, чтобы установить этот псевдоним) р>
Обратите внимание, что ct ci -nc
будет регистрироваться с комментарием, используемым на этапе оформления заказа.
Таким образом, это не регистрация без комментариев (например, параметр -nc
- или «без комментариев» - может привести к убеждению).
Другие советы
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""
Также статья " ClearCase: десять лучших сценариев " ; может быть полезным