В ClearCase, как я могу просмотреть старую версию файла в статическом представлении из командной строки?

Нет, если вы не вернете функцию:

def func1():
    def func2():
        print("Hello")
    return func2

innerfunc = func1()
innerfunc()

или даже

func1()()
16
задан Community 23 May 2017 в 10:30
поделиться

3 ответа

Я пытаюсь посмотреть на набор старых версий

Я не уверен, говорите ли Вы о "наборе старых версий" одного файла, "набор старых версий" из нескольких файлов.

Для визуализации нескольких старых версий одного файла самое простое среднее должно отобразить свое дерево версии (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')


[Из комментариев:]

что идиоматическим путем является "кошке" более ранний пересмотр файла?

Идиоматический путь посредством динамического представления (что Вы настраиваете с той же самой спецификацией конфигурации, чем Ваше существующее представление снимка).

Можно затем просмотреть (как в 'каталоге изменения к') различные расширенные пути файла.

Если Вы хотите кошке все версии ответвления файла, Вы входите:

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"управляйте (страница справочника) упомянутый ниже Brian не делает stdout:

Получить команда копирует только элементы файла в представление.

На 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

Таким образом, возможно, чем, путем передачи по каналу результата к a cat (или type в окнах), можно затем сделать что-то с выводом сказанных cat (type) команда.

cmd-context get –to C:\build\foo.c.temp \dev\hello_world\foo.c@@\main\2 | type C:\build\foo.c.temp 
14
ответ дан Community 23 May 2017 в 10:30
поделиться

[Переписанный на основе первого комментария]

Все файлы в Clearcase, включая версии, доступны в структуре виртуального каталога. У меня нет большого знакомства со статичными представлениями, но я полагаю, что они все еще проходят виртуальную фс; они просто обновляются по-другому.

В этом случае, можно просто сделать:

   cat File@@/main/28

Это может стать ужасным, если также необходимо найти правильную версию каталога, который содержал тот элемент файла. У нас есть сценарий Perl на работе, которая использует этот подход для анализа исторических изменений, внесенных в файлы, и у нас быстро закончилось пространство командной строки в Windows для фактического выполнения команд!

2
ответ дан Chris Arguin 23 May 2017 в 10:30
поделиться

ct shell cat File@@version

-1
ответ дан 30 November 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: