如何正确地从ClearCase快照中删除文件?

9
当我从快照视图中删除文件时,在ClearCase Explorer中下一次查看快照时,它会显示“??”已签出但已删除的图标。当我在快照上运行“查找修改的文件”时,已删除的文件不会显示。在快照上运行“更新视图”会导致ClearCase重新将丢失的文件复制回我的视图。
我希望发生这种情况:当我从快照中删除文件并进行更新时,该文件应从视图中删除,就像我通过动态视图从ClearCase中删除它一样。如何最好地实现这一点?
我更喜欢避免对我的ClearCase环境进行大量定制。如果有一种“标准”方法可以实现这一点,我想尝试一下。如果cleartool可以为符合此条件的所有文件显示搜索结果,那对于我的目的来说就足够了。
1个回答

13
如果你从ClearCase资源管理器中删除文件,那么你不应该有任何问题:它会:
  • 检出父目录
  • rmname文件
  • 检入父目录
但如果您直接从shell或Windows资源管理器中删除,则ClearCase将不会收到操作通知,因此出现“??”已检出但已删除的状态。
使用动态视图,您无法在未得到ClearCase的通知的情况下删除文件,因为动态视图是完全由ClearCase管理的文件系统的封装。
现在假设您已经直接从本地文件系统(而不是从ClearCase资源管理器或带有ClearCase插件的IDE)中删除了一堆已检出文件,并且您希望这些文件保持删除状态!
那么一个解决两种状态的方法是:
  • cleartool update .(在快照视图的根目录下)
  • 解析生成的“.updt”文件,并对每个已检出的文件进行rmname(就像这篇文章中所述)

谢谢!下次我删除快照中的内容时会尝试这个方法。 - RMorrisey
@RMorissey:顺便说一下,要删除一个文件,你不应该将其checkout。 - VonC
我没有检查任何东西。在从本地文件系统的快照目录中删除它后,当我更新快照时,它被注册为“已检出”。 - RMorrisey
记录一下,对于其他尝试这种技术的人:这种方法实际上会将所有已删除的文件重新引入快照。然后我不得不通过文本编辑器查看更新日志,并检查所有标记为“已更新”的文件,以查看它们是否是我已删除的文件。我通过ClearCase Explorer从快照视图中删除了每个这样的文件。非常笨拙,但解决了问题。 - RMorrisey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接