clearcase - ClearCase:不同目录中具有相同 oid 的文件
问题描述
我遇到了让我难过的事情。
我们有几个在各个方面都相同的文件(包括它们的 oid - 所以它们肯定不是邪恶的双胞胎),但位于两个不同的目录中。查看元素属性,它们都包含相同的路径名,但它们也可以在第二个目录中找到。
我的第一个想法是它们(或它们的一个父目录)之间必须有一个符号链接。我在 VOB 的根目录中使用了以下命令来查找它们:
cleartool find . -kind slink -print
但是,它不返回任何结果。
有人知道这里发生了什么吗?
解决方案
由于在 ClearCase 中,文件夹负责记录其元素的列表,因此请务必描述该重复文件的父文件夹。
两个不同的文件夹可以记录同一个文件。
更准确地说,检查硬链接(不仅仅是软链接“链接”)
硬链接是现有文件目录中的附加条目。
硬盘上只存在该文件的一份副本。如果您修改任何副本,则会修改所有其他副本。ClearCase 通过相同的 inode 在目录结构中执行此操作,并将引用计数增加 1。
请注意,当您使用 时find -all
,即使有一个或多个 VOB 硬链接指向该元素,也只会报告一个元素的一个实例。显示元素名称或 VOB 硬链接之一。
在“识别 VOB 中的硬链接”中查看更多信息。
使用
cleartool find
从VOB的根执行如下:
cleartool find -all -exec 'cleartool describe -fmt "%[aliases]ACQp\n" $CLEARCASE_XPN'
此输出将为您提供 VOB 中所有元素的列表,如果给定元素具有多个硬链接,则另一个硬链接将显示在列表中的逗号之后。
输出将类似于以下内容:
"/vobs/TestVOB1@@/main/dir1/7/1.txt", "/vobs/TestVOB1@@/main/dir1/7/1.foo.txt"
最后,以下命令将只为您提供带有硬链接的元素:
cleartool find -all -exec 'cleartool describe -fmt "%[aliases]ACQp\n" $CLEARCASE_XPN' | grep ","
推荐阅读
- javascript - 如何更改页面刷新消息弹出窗口上的文字?
- java - 共享首选项中的 MODE_APPEND 标志
- php - 什么是 php 中的“endif”?
- json - 从 Postman 创建 Firestore 数据库文档
- xpath - 使用 XPath 函数清除不必要的信息
- google-cloud-platform - 从现有存储桶为 AutoML Vision 生成 CSV 导入文件
- python - 从 Raspberry PI 运行时不显示 Dash/Plotly 图表
- clojure - 在 clojure zprint 中配置符号引用扩展
- c# - 为什么更新其他记录时会删除一些记录?
- aws-lambda - AWS Amplify 从使用 api 类别创建的 DynamoDB 表中获取流 ARN