如何:移动符号链接保持目标



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

正如我之前的问题所描述的,这并不像听起来那么微不足道(对我来说),因为目标路径是相对于链接本身保存的,而不是VOB根或类似的东西。如果ClearCase会调整那些链接中的路径信息,这将不是一个大问题,但是显然,它没有。

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

/myVOB
  /Originals
  /LinksA
    /SubDir
  /LinksB

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

有人知道在移动符号链接时是否可以告诉ClearCase调整路径吗?通常我认为这应该是开箱即用的,但是人们永远不会知道ClearCase…然而,也许有人可以试着复制这个,并告诉我它是否成功,也许这只是我的系统上的一个bug ?

Edit: OK,所以看起来移动相对符号链接是不支持开箱使用的。我需要移动大量的符号链接,我会写一个脚本,现在采取了一些文件/目录,并将它们移动到一个新的位置。如果遇到符号链接(其目标可能是文件或目录),它不会调用cleartool mv或其他方法,而是按照VonC发布的过程执行。

但是我没有,所以我可能会手工做。也许有人已经写过这样的脚本,那么这里将是推广它的合适地方;)

如果您考虑一下关于"如何在ClearCase互操作中管理符号链接"的技术说明,似乎:
(即使你不是在一个互操作环境中,即即使你的Windows视图和Vob服务器都在Windows上)

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

如何更改VOB符号链接路径

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

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

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

链接

的例子:

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

:

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

最新更新