Почему Perl не может найти мой файл, который находится в ClearCase? - PullRequest
6 голосов
/ 12 июня 2009

Этот фрагмент Perl говорит мне, что файл в ClearCase не существует, когда он существует;

$x = "PATH/TO/FILE"
if (-e $x) {
   print "This file exists on the file system";
} else {
   print "I can't see this file";
}

Кто-нибудь видел это раньше?

Некоторые файлы возвращаются нормально. Получил меня в тупик.

Прозрачный вид является динамическим, размещается на Unix.

Этот фрагмент кода возвращает сообщение о том, что файл существует, а другой - нет, если они находятся в одной папке в одном представлении.

Ответы [ 2 ]

6 голосов
/ 13 июня 2009

Clearcase сохраняет свои «файлы» в виде каталогов

Что Арик пытается вам сказать , так это то, что ClearCase использует расширенные имена путей , "расширенные", поскольку он расширяет имя файла с помощью путь версии .

Таким образом, в динамическом представлении любой файл может быть описан, чтобы раскрыть путь его версий:

$ ct ls
myFile
$ ct descr -l myFile
myFile@@/main/3

В динамическом представлении вы можете просмотреть версии файла (отсюда и «файл как каталоги»), часть

$ cd myFile@@
$ ls
main
$ cd main
$ ls
3
$ cat 3
... // content of third version of myFile

Теперь, если здесь используется ClearQuest (система отслеживания ошибок), это будет ссылаться на действия (набор изменений набора файлов) ClearCase.

Но с ClearCase версия файла (на который ссылается ClearQuest или полученного другим способом) может быть очень хорошо удалена в динамическом представлении (на самом деле "rmonym").
Это означает, что на файл может ссылаться ClearQuest или какое-либо действие ClearCase, но он не может быть виден непосредственно с ClearCase в динамическом представлении.
Однако его расширенный путь будет по-прежнему доступен в том же динамическом представлении.

3 голосов
/ 12 июня 2009

Clearcase хранит свои «файлы» в виде каталогов. Вы можете перейти в файл и перейти в каталог, который он использует для хранения всех ревизий файла; Хотя перехватчики ОС обычно работают, возможно, это приводит к тому, что Perl не распознает некоторые файлы.

...