Как выполнить рекурсивную проверку с использованием ClearCase?
Я хочу проверить все файлы во всех подкаталогах указанной папки.
(И это болезненно делать с помощью графического интерфейса, потому что нет опции рекурсивного извлечения).
2 ответа
Осторожно: ClearCase ориентирован на файл, а не на репозиторий (например, SVN или CVS).
Это означает, что это редко является хорошим решением для извлечения всех файлов (и это может быть довольно долго с ClearCase;))
При этом вопрос совершенно законный, и я хотел бы указать на другой путь:
открыть cleartool
сеанс в "указанной папке":
c:\MyFolder> cleartool
cleartool> co -c "Reason for massive checkout" .../*
делает тоже самое Но в качестве ответа аку, он проверяет все: файлы и каталоги... и вам, возможно, больше не нужно извлекать каталоги!
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: десять лучших сценариев"