Да, можно получить файл обратно. Это важная особенность ClearCase (и время от времени спасатель).
Допустим, ваш каталог /vobs/somevob/somedir
. Версия каталога с двумя файлами была /main/3
; поэтому версия с одним файлом была /main/4
. Брошенный файл /vobs/somevob/somedir/crucial
. Предполагая, что ct
является псевдонимом для cleartool
, вы затем делаете:
cd /vobs/somevob/somedir
ct co -c 'Recover file crucial' .
ct ln .@@/main/3/crucial .
ct ci -nc .
Первая строка означает, что мне не нужно вводить путь к каталогу в трех других командах; в противном случае это необязательно. Вторая строка проверяет каталог, чтобы его можно было редактировать. Последняя строка проверяет в измененном каталоге. Третья строка - это место, где происходит магия ...
Строка ct ln .@@/main/3/crucial .
идентифицирует файл crucial
, который был замечен в версии /main/3
каталога .
, и связывает его с текущим каталогом (извлеченная версия каталога). Версия файла, которую вы видите, будет той, которая выбрана вашим cspec, но правильный вид находится в представлении (при условии, что вы действительно подберете /vobs/somevob/somedir@@/main/5
с вашим cspec).
(Обратите внимание, что вы не ограничены выполнением ссылки на одну версию назад; при необходимости вы можете восстановить файл через 10 лет и 20 версий. Хотя вы можете связать файл сразу с двумя каталогами, это очень не рекомендуется; вместо этого используйте символическую ссылку. Вы можете восстановить удаленный файл в другой каталог из его последнего известного расположения.)