6

この 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 上でホストされます。

このコードは、同じビューの同じフォルダーにあるファイルが存在し、別のファイルが存在しないことを返しています。

4

2 に答える 2

7

Clearcase はその「ファイル」をディレクトリとして保存します

Aric が伝えようとしているのは、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 によって参照された、または別の方法で取得された) ファイルのバージョンは、動的ビュー (実際には "rmnamed") で削除されている可能性があります。
つまり、ファイルは ClearQuest または一部の ClearCase アクティビティによって参照される可能性がありますが、動的ビューで ClearCase を使用して直接表示することはできません。
ただし、その拡張パス名は、同じ動的ビューで引き続きアクセスできます。

于 2009-06-12T20:34:02.967 に答える
3

Clearcase は、その「ファイル」をディレクトリとして保存します。ファイルに cd して、ファイルのすべてのリビジョンを保存するために使用している実際のディレクトリに入ることができます。OS フックは通常は機能しますが、これが原因で Perl が一部のファイルを認識しない可能性があります。

于 2009-06-12T16:26:57.273 に答える