如何通过给定的元素名称获取pvob名称?

时间:2012-05-16 07:17:15

标签: clearcase

我正在使用ClearCase编写脚本,我必须提供一个pvob名称。 我在视图(动态或快照)的上下文中,我有一个元素名称(例如<path>\filename.cpp)或特定元素和文件版本(<path>\filename.cpp@@\main\versioname\2

我如何获得它的pvob? 好像我必须找出vob名称,然后找到它与pvob的链接?

谢谢

1 个答案:

答案 0 :(得分:1)

vob元素和PVob(包含对UCM对象的引用)之间没有直接链接

您可以做的是,在元素的当前路径中:

cleartool lsstream -cview

这将为您提供视图流的名称,该视图附加到PVob 但是,您的元素可能是另一个pvob的组件的一部分。

另一种选择是列出所有pvobs的所有组件及其根目录,并检查具有与您的元素路径类似的根目录的组件。

注意:活动中还有另一个链接:cleartool 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

您的元素与两个vob相关联:

  • 实际的Vob(包含文件)
  • PVob('ucmvob',即pvob)

你可以列出所有的vob,询问他们的oid:

 ct descr -fmt "%On %[plevels]p" vob:\avob

您可以检查其oid是否与元素的某个超链接匹配。

注意:我使用%[plevels]p,因为它仅在pvob上有效!