Я пытаюсь посмотреть на кучу старых версий
Я не уверен, что вы говорите о "куче старых версий" одного файла , "куче старых версий" из нескольких файлов.
Чтобы визуализировать несколько старых версий одного файла, самое простое средство - показать его дерево версий (ct lsvtree -graph File
), а затем выбрать версию, щелкнуть по ней правой кнопкой мыши и «Send To
» - редактор, который принимает несколько файлов (как Блокнот ++). В несколько кликов вы увидите старые версии.
Примечание: у вас должен быть CC6.0 или 7.0.1 IFix01 (7.0.0 и 7.0.1 не могут «отправить» в файл со следующим сообщением об ошибке «Access to unnamed file was denied
»)
Но для визуализации нескольких старых версий различных файлов я бы порекомендовал динамическое представление и редактирование спецификации конфигурации этого представления (а не представления моментального снимка, с которым вы сейчас работаете), чтобы быстро выбрать все эти старые файлы ( надеюсь через простое правило выбора типа 'element * aLabel
')
[Из комментариев:]
каков идиоматический способ "кошки" более ранней ревизии файла?
Идиоматический путь - через динамическое представление (которое вы конфигурируете с точно такой же спецификацией конфигурации, как у существующего представления снимка).
Затем вы можете просмотреть (как в 'change directory to') различные расширенные пути файла.
Если вы хотите отследить все версии ветки файла, введите:
cd /view/MyView/vobs/myVobs/myPath/myFile@@/main/[...]/maBranch
cat 1
cat 2
...
cat x
'1
', '2
', ... 'x
' - версия 1, 2, ... x вашего файла в этой ветви.
Для представления снимка расширенный путь недоступен , поэтому ваш "хак" - это путь.
Однако, 2 замечания здесь:
- , чтобы быстро отобразить все предыдущие версии файла снимка в данной ветке, вы можете набрать:
(однострочная версия для копирования-вставки, синтаксис Unix:)
cleartool find addon.xml -ver 'brtype(aBranch) && !version(.../aBranch/LATEST) && ! version(.../aBranch/0)' -exec 'cleartool diff -ser empty "$CLEARCASE_XPN"'
(многострочная версия для удобства чтения:)
cleartool find addon.xml -ver 'brtype(aBranch) &&
!version(.../aBranch/LATEST) &&
! version(.../aBranch/0)'
-exec 'cleartool diff -ser empty "$CLEARCASE_XPN"'
- вы можете быстро получить более приятный вывод с
(однострочная версия для копирования-вставки, синтаксис Unix:)
cleartool find addon.xml -ver 'brtype(aBranch) && !version(.../aBranch/LATEST) && ! version(.../aBranch/0)' -exec 'cleartool diff -ser empty "$CLEARCASE_XPN"' | ccperl -nle '$a=$_; $b = $a; $b =~ s/^>+\s(?:file\s+\d+:\s+)?//g;print $b if $a =~/^>/'
(многострочная версия для удобства чтения:)
cleartool find addon.xml -ver 'brtype(aBranch) &&
!version(.../aBranch/LATEST) &&
! version(.../aBranch/0)'
-exec 'cleartool diff -ser empty "$CLEARCASE_XPN"'
| ccperl -nle '$a=$_; $b = $a;
$b =~ s/^>+\s(?:file\s+\d+:\s+)?//g;
print $b if $a =~/^>/'
Таким образом, вывод будет лучше.
Команда "cleartool get
" (man-страница) , упомянутая ниже by Brian not do stdout:
Команда get копирует только элементы файла в представление.
В системе UNIX или Linux скопируйте /dev/hello_world/foo.c@@/main/2
в текущий каталог.
cmd-context get –to foo.c.temp /dev/hello_world/foo.c@@/main/2
В системе Windows скопируйте \dev\hello_world\foo.c@@\main\2
в каталог C:\build
.
cmd-context get –to C:\build\foo.c.temp \dev\hello_world\foo.c@@\main\2
Так что, может быть, чем, передав результат в cat
(или type
в Windows), вы можете сделать что-то с выводом указанной команды cat
(type
).
cmd-context get –to C:\build\foo.c.temp \dev\hello_world\foo.c@@\main\2 | type C:\build\foo.c.temp