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

Clearcase 如何:移动符号链接保持目标,clearcase,symlink,Clearcase,Symlink,我需要在动态视图中移动VOB中的多个符号链接 正如我在my中所描述的,这并不像(对我来说)听起来那么简单,因为目标路径是相对于链接本身而不是相对于VOB根或类似的东西保存的。如果ClearCase能够调整这些链接中的路径信息,那么这并不是一个大问题,但显然不是 详细信息:假设以下文件夹结构: /myVOB /Originals /LinksA /SubDir /LinksB 然后将指向位于myVOB/LinksB中的文件myVOB/Originals/readme.txt的

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

正如我在my中所描述的,这并不像(对我来说)听起来那么简单,因为目标路径是相对于链接本身而不是相对于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

编辑:确定,因此似乎不支持移动开箱即用的相对符号链接。如果我需要移动大量的符号链接,我现在正在编写一个脚本,它会将许多文件/目录移动到一个新位置。如果它遇到一个符号链接(其目标可能是一个文件或目录),它将不只是调用
cleartool mv
或任何东西,而是按照VonC发布的过程进行操作

但我没有,所以我可能会用手来做。也许有人已经写了这样一个剧本,那么这将是推广它的合适地方;) (即使您不在互操作环境中,即即使您的Windows视图和Vob服务器都在Windows上)

  • 符号链接正在使用主相对路径
  • 如果目标路径发生更改,则必须重新创建它们
如何更改VOB符号链接路径

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

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

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

例如:

注释

建议您使用相对VOB符号链接而不是绝对符号链接
绝对VOB符号链接要求您使用视图标记级别的绝对路径名,例如,
\view tag\VOB tag\filename

因此,它们仅在创建它们的视图中有效


一如既往地感谢@VonC。“修改VOB符号链接的唯一方法[…]是创建新的符号链接”,这基本上表示“符号链接无法移动,需要在源位置删除,并在目标位置重新创建”。我已经调整了我的问题,专门要求解决问题。@SvenS:不客气。但是,我不知道在使用具有更改目标的符号链接时有什么简单的解决方法。是的,我唯一的想法是使用cleartool自动执行此过程,我将在GUI中手动执行此过程:查找目标,创建指向新文件夹的另一个符号链接,删除旧的符号链接。我将在半小时内完成这项工作(我对cleartool不太了解),因此我自己编写脚本是没有用的。您可能会想看看有哪些工具可以帮助操作相对路径和绝对路径。谢谢,这可能对任何编写上述脚本的人都有帮助(尽管我自己不打算这么做^^)。尽管如此,对于clearcase来说,可以确定的是,只需要移动符号链接的目标路径,然后告诉cleartool在目标目录中创建一个指向该目标的新符号链接。因此,cleartool将提供新的相对路径。
cleartool ln -slink -nc ../../same_file_name.txt
Check in the directory