操作方法:移动符号链接保持目标

时间:2011-09-14 13:06:36

标签: clearcase symlink

我需要在动态视图中移动VOB中的多个符号链接。

正如我previous question中所描述的那样,这对我来说并不像听起来那么简单,因为目标路径是相对于链接本身而不是VOB根或类似的东西保存的。如果ClearCase会调整这些链接中的路径信息,这不会是一个大问题,但很明显,它不会。

详细信息:我们假设以下文件夹结构:

/myVOB
  /Originals
  /LinksA
    /SubDir
  /LinksB

然后将链接移至位于myVOB/Originals/readme.txtmyVOB/LinksB的文件myVOB/LinksA/SubDir将阻止该链接找到其目标,因为它正在查找myVOB/LinksA/SubDir/../Originals/readme.txt

有没有人知道在移动符号链接时是否可以告诉ClearCase调整路径?通常我会认为这应该是开箱即用的,但是人们永远不会知道ClearCase ......不过,也许有人可以尝试重现这个并告诉我它是否成功,也许这只是我系统上的一个错误? / p>

编辑:好的,所以看起来移动相对符号链接不支持开箱即用。我是否需要移动大量的符号链接,我现在正在编写一个脚本,它采用了许多文件/目录并将它们移动到一个新的位置。如果遇到符号链接(其目标可能是文件或目录),它不仅会调用cleartool mv或其他任何内容,而是按照VonC发布的过程进行操作。

但我没有,所以我可能会手工完成。也许有人已经写过这样的剧本,那么这将是推广它的正确场所;)

1 个答案:

答案 0 :(得分:3)

如果你考虑这个technote on "How to Manage symbolic links in ClearCase interop,似乎:
(即使您不在互操作环境中,即使您的Windows视图和Vob服务器都在Windows上)

  • 符号链接使用主要相对路径
  • 如果目标路径发生变化,则必须重新创建它们。
  

如何更改VOB符号链接路径

     

修改VOB符号链接到相对路径的唯一方法是创建新的符号链接

     

注意:如果VOB符号链接是使用绝对路径创建的,则无法编辑(修改)VOB符号链接以使用相对路径。

     

- 检查目录    - 使用cleartool rmelem命令删除旧的VOB链接    - 创建一个名称相同的新链接

     

示例:

cleartool ln -slink -nc ../../same_file_name.txt
Check in the directory
  

备注

     

建议您使用相对VOB符号链接而不是绝对符号链接
  绝对VOB符号链接要求您使用视图标记级别的绝对路径名称,例如\view-tag\VOB-tag\filename
  因此,它们仅在创建它们的视图中有效