1

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

我如何获得它的 pvob?似乎我必须弄清楚vob名称然后找到它与pvob的链接?

谢谢

4

1 回答 1

1

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:

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

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

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

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

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

于 2012-05-16T07:34:06.497 回答