Итак, я пишу сценарий на работе, где мне нужно просмотреть все проекты в ClearCase vob, найти файл и проанализировать некоторую информацию из указанного файла.
Естественно, я не хотел бы загружать каждый отдельный проект поэтому я использую cleartool для извлечения выгруженных файлов.
Во-первых, я использую команду find для поиска файлов. Это была моя первая попытка:
root>cleartool find C:/viewpath -name file.txt -version "lbtype(Version-label)" -print -nr
Viewpath - это путь к проекту, в котором я сейчас ищу файл. Файл, который я ищу, file.txt
в версии, указанной меткой версии.
Это не дало мне никакого результата, хотя я знал, что file.txt
существует в этой версии.
Я понял, что он просматривает старую версия каталога, последняя в основной ветке, которая была до того, как file.txt
был добавлен в каталог. Вместо этого я попробовал это:
root>cleartool find C:/viewpath@@/Version-label -name file.txt -version "lbtype(Version-label)" -print -nr
И получил результат, который я искал
C:/viewpath\file.txt@@\main\branch\41
Итак, теперь, когда я знал, где найти файл, я попытался его достать.
root>cleartool get -to savepath C:/viewpath\file.txt@@\main\branch\41
Что дало мне такой результат
cleartool: Error: "C:/viewpath\file.txt@@\main\branch\41" does not exist, or is not a ClearCase version, or is a checked out version which was removed.
Также пробовал
root>cleartool get -to savepath C:/viewpath\file.txt@@/Version-label
С тем же результатом
Я могу получить файлы, добавленные в каталог, когда он все еще находился в основной ветке, поэтому он все еще ищет в каталоге в основной ветке, где file.txt
нигде не найти.
Как мне сказать ему, чтобы он выглядел через версию каталога после того, как он был разветвлен от основного?