为什么Perl找不到ClearCase中的文件?

为什么Perl找不到ClearCase中的文件?

这段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";}

有人见过这个吗?

有些文件返回很好。把我弄糊涂了。

ClearCase视图是动态的,托管在Unix上。

这段代码返回的是一个文件存在,而另一个文件在同一视图上的同一文件夹中时不存在。


一只甜甜圈
浏览 474回答 3
3回答

繁星coding

ClearCase将其“文件”存储为目录什么艾瑞克想告诉你是ClearCase使用的扩展路径名,因为它用版本路径.因此,在动态视图中,可以描述任何文件以显示其版本控制路径:$ ct ls myFile $ ct descr -l myFile myFile@@/main/3在动态视图中,您可以实际探索文件的版本(因此成为“文件即目录”)部分。$ cd myFile@@ $ ls main $ cd main $ ls3$ cat 3... // content of third version of myFile现在,如果这里使用ClearQuest(问题跟踪系统),它将引用ClearCase的活动(文件集的更改集)。但是对于ClearCase版本对于一个文件(由ClearQuest引用或通过另一种方法获得),可以很好地在动态视图(“rmname”实际上)中删除。这意味着一个文件可能被ClearQuest或某些ClearCase活动引用,但在动态视图中不能直接在ClearCase中看到。但是,它的扩展路径名仍然可以在相同的动态视图中访问。

潇湘沐

ClearCase将其“文件”存储为目录。您可以将CD存储到一个文件中,并进入它用来存储文件所有修订版的实际目录;虽然OS钩子通常正常工作,但这可能导致Perl无法识别其中的一些文件。

慕容3067478

此外,目录是版本化的;该文件可能不存在于所选目录的版本(通过视图的配置规范)中。在一般情况下,您可能还需要在中间目录上使用扩展路径语法。G./foo/bar@@/main/1/baz.txt@@/main/3
打开App,查看更多内容
随时随地看视频慕课网APP