Как выполнить рекурсивную проверку с использованием ClearCase? - PullRequest
12 голосов
/ 29 августа 2008

Я хочу проверить все файлы во всех подкаталогах указанной папки.

(И это болезненно делать с помощью графического интерфейса, потому что нет опции рекурсивной проверки).

Ответы [ 2 ]

24 голосов
/ 23 сентября 2008

Осторожно: 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 - или «без комментариев» - может заставить поверить).

8 голосов
/ 29 августа 2008
cleartool find somedir -exec "cleartool checkout -nc \"%CLEARCASE_PN%\""

Также может пригодиться статья " ClearCase: десять лучших сценариев "

...