我正在使用 ClearCase 编写一些脚本,我必须提供一个 pvob 名称。我在视图(动态或快照)的上下文中,并且我有一个元素名称(例如<path>\filename.cpp
)或特定元素和文件版本(<path>\filename.cpp@@\main\versioname\2
)
我如何获得它的 pvob?似乎我必须弄清楚vob名称然后找到它与pvob的链接?
谢谢
我正在使用 ClearCase 编写一些脚本,我必须提供一个 pvob 名称。我在视图(动态或快照)的上下文中,并且我有一个元素名称(例如<path>\filename.cpp
)或特定元素和文件版本(<path>\filename.cpp@@\main\versioname\2
)
我如何获得它的 pvob?似乎我必须弄清楚vob名称然后找到它与pvob的链接?
谢谢
vob 元素和 PVob(包含对 UCM 对象的引用)之间没有直接链接
您可以做的是,在元素的当前路径中:
cleartool lsstream -cview
这将为您提供附加到 PVob 的视图流的名称。
但是,您的元素可能是来自另一个 pvob 的组件的一部分。
另一种选择是列出所有 pvob 的所有组件及其根目录,并检查根目录类似于元素路径的组件。
注意:另一个链接在活动中:acleartool descr -l yourElement
将显示活动(及其 pvob)。
但同样,该 pvob 可能与您的元素所属的组件不同。
更直接的链接:转储你的元素
cleartool dump -l /path/to/your/element
[...]
derived objects:
hyperlinks to object:
arrow=1249731306
type=27209
hlink vob=90b77fed.efb24bb6.8312.8e:09:7f:84:65:a1
hlink obj=64856a02.8d9d4624.abae.09:94:b0:e7:9c:2e
from vob=90b77fed.efb24bb6.8312.8e:09:7f:84:65:a1 <=====
from obj=20b6c0e8.270e4354.91f5.02:5c:6f:ed:41:54
to vob=60efb222.0e034a34.aa4b.80:65:c3:9c:d4:ca <=====
to obj=eb7ec24a.510e4e03.8403.0b:e8:dd:3d:5c:db
您的元素链接到两个 vobs:
你可以列出你所有的 vobs,询问他们的 oid:
ct descr -fmt "%On %[plevels]p" vob:\avob
您可以检查其 oid 是否与元素的超链接之一匹配。
注意:我使用 %[plevels]p
它是因为它仅在 pvob 上有效!