关于快照视图的符号链接的Clearcase Linux命令

时间:2017-06-20 13:33:46

标签: linux clearcase symlink cleartool

我希望能够对linux上快照视图中文件的符号链接的文件使用cleartool命令。

>cd /my/build/area/
>ls -l file.c
lrwxrwxrwx 1 sword none       123 Jun 19 16:57 file.c -> /my/snapshot/view/file.c
>cleartool co file.c
cleartool: Error: Not an object in a vob: "file.c".

同样,当我尝试做cleartool更新时,我得到了

cleartool: Error: Unable to determine version for VOB root directory element
cleartool: Error: Unable to access "/my/build/area/file.c" No such file or directory."

我可以cd到视图并在文件上使用cleartool没问题。但是对视图中文件的符号链接的cleartool操作会给我错误。

我问的原因是我的构建环境包含一个本地目录,其中包含每个文件的符号链接到快照视图。有没有办法我可以这样做而无需cd到快照视图?

注意:我在cshell中使用ln -s命令在我的构建区域中创建文件。我没有使用cleartool ln。我不是试图用vob或另一个vob将文件符号链接。

编辑: 值得注意的是,尝试'cleartool更新'符号链接会写入视图.updt文件,因此虽然符号链接上的cleartool命令确实失败,但该工具的某些部分具有视图上下文。

2 个答案:

答案 0 :(得分:0)

  

有没有办法我可以这样做而无需cd到快照视图?

可能不是:制作一个解析符号链接并执行相应检出的包装脚本比尝试使cleartool co直接在符号链接本身上工作更容易。

  

快照视图存储在一个我们不希望弄乱构建工件的公共网络驱动器中,我们不需要通过网络构建流量。目前,我们在“建立”区域工作。并在视图中清除操作。我想这样做,所以所有操作都可以在构建区域完成

这是一个构建配置问题:您应该能够在ClearCase视图中工作,同时在单独的文件夹(视图外)中配置二进制构建:不需要符号链接。

详细说明:

正如我在" clearcase symbolic link file not visible from a snapshot view"中提到的那样,您可以查看" Symbolic links in snapshot views":

  

在加载快照视图的上下文中,链接被视为VOB链接(指向VOB内的对象的链接)和非VOB链接(指向VOB外部的链接)。

     
      
  • 遵循硬VOB链接;符号链接是复制创建的。如果无法解析VOB链接,则会导致错误。
  •   
  • 如果可能,解析非VOB链接,但如果无法解析则不会出错。
  •   
     

在Linux或UNIX系统上,如果加载规则选择符号链接,则链接和链接目标将复制到快照视图中(无论加载规则是否选择链接目标)。   与动态视图一样,您无法查看符号链接;你必须检查符号链接目标。

所以你需要检查一下:

  • 您的符号链接(不是cleartool ln)可以解析
  • 您的快照配置规范有一个加载该符号链接的规则

但在您的情况下,您在ClearCase快照视图之外。

答案 1 :(得分:0)

ClearCase需要视图上下文来确定您指向它的对象是什么。由于您不在视图中,因此无法解析链接以查找实际的文件元素。

你有什么理由可以在视图中工作吗?

相关问题