cleartool:如何按时间顺序列出流中的所有标签?

时间:2012-10-23 17:15:41

标签: clearcase clearcase-ucm cleartool

我想按时间顺序列出应用于流的所有标签。理想情况下,我希望每个标签都有以下内容:

 <label> <timestamp> <userid>

我看了几个问题。命令

 ct lstype -kind lbtype -invob . -short
来自问题“Clearcase: List labels matching a particular string”的

似乎很有希望,但它列出了在祖先流中应用的标签。我不希望这样,我只想要应用于当前流的标签。

我觉得必须有某种方式,但遗憾的是我无法找到答案。如果您有任何建议,我可以尝试一下。

1 个答案:

答案 0 :(得分:0)

如果你提到Stream,那意味着ClearCase UCM,其中包括UCM Baselines。

您需要使用基线而不是标签:基线可以是增量基线,这意味着您将找不到给定组件的所有元素的标签。
(有关详细信息,请参阅“What is the difference between Full baseline and Incremental baseline in Clearcase UCM?”。) Lbtypes和标签附加(“保护”)到基线(通过超链接),但实际对象(与userId和日期相关联)是基线。

cleartool lsbl -stream aStream@\aPVob

这将列出应用于给定流的所有基线,从最旧到最新 (见cleartool man lsbl

commenteddanger89cleartool lsbl -s -stream aStream@\aPVob会显示 每行一个短版本。


danger89添加in the comments

  

要获得一个漂亮的表输出,请使用:

(printf "Baseline|Label Status|Promotion Level|Owner|Predecessor baseline\n" \ ; cleartool lsbl -lev BUILT -fmt "%n|%[label_status]p|%[plevel]p|%[owner]p|%[predecessor]p\n" ) | column -t -s '|'

多行可读性:

(printf "Baseline|Label Status|Promotion Level|Owner|Predecessor baseline\n" \ ; 
 cleartool lsbl -lev BUILT -fmt "%n|%[label_status]p|%[plevel]p|%[owner]p|%[predecessor]p\n" )
   | column -t -s '|'