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