如何找到clearcase符号链接?

时间:2013-04-08 15:31:15

标签: clearcase

目前,我必须在更新clearcase视图时等待符号链接错误。然后我取了破损的符号链接的名称并专门搜索它。

有没有办法找到所有损坏的符号链接,而不必知道名字?

如何一次找到一个:

  • cleartool> cd C:\cc_view\view_name\source_app
  • cleartool> find -all -type l -name "missing.link.name" -nxname -print

1 个答案:

答案 0 :(得分:2)

您的查找查询中不应该使用-all 快照视图更新中的符号链接损坏是可见的元素:

cleartool find . -type l -name "missing.link.name" -nxname -print

您可以在DOS会话中执行该命令(“cleartool find”,而不是一个“cleartool> find”的cleartool:这允许您将结果重定向到文本文件并解析结果

IBM文章“How to find broken (orphaned) Symlinks”也可以提供帮助。

原因

  

用户重命名了目标,因此符号链接指向不存在的目标。

     

重命名版本化目标文件(a.doc -> a.docx后,由ClearCase Explorer完成)我收到更新错误,symlink a.doc不存在。

     

无法解析符号链接“filename.doc”。符号链接目标将不会被加载。

     
      
  • 我在哪里可以找到链接本身(它位于哪个文件夹中?)?
  •   
  • 如何解决符号链接的重命名(?)?
  •   

答案

  

查找和删除符号链接:

     
      
  • 使用动态视图(快照视图无法加载缺失的链接)
  •   
  • 运行M:\viewtag\vobtag>cleartool find . -kind slink -print
  •   
  • 有关如何删除上述命令输出中找到的符号链接的信息,请参阅以下技术说明:“Unable to resolve VOB symlink”:
  •   
     

命令提示符下的cleartool ls将显示:

virt.46e5e94ff9024144ab0fe9ed432ce6e6 --> ../virt
virt.5043bcc7c8f44439938d634bd5ba9ac2 --> ..virt [not loaded]
  

上述符号链接指向ClearCase之外的资源,这使得超链接无效,无法在UCM中使用。

解决问题

  

使用cleartool rmname命令从VOB中删除损坏的(悬空)链接以清除错误。

     

示例:

cleartool rmname virt.46e5e94ff9024144ab0fe9ed432ce6e6
  

使用cleartool rmname可以保留符号链接,但删除引用   来自未来的目录版本。
  可以使用cleartool rmelem永久删除符号链接,有关详细信息,请参阅technote 1148781