如何获取有关集成流的贡献活动详细信息?

时间:2012-05-18 06:28:00

标签: clearcase cleartool

我需要帮助知道如何获取特定贡献活动何时传递到集成流的详细信息 我曾经在diffbl -activity baseline1 baseline2中使用cleartool来获取从一个基线到另一个基线的活动列表。

现在新的需求是我需要获得列出作为diffbl输出的某些活动的日期时间。
我尝试使用lsactdescribe,但我收到了“Activity not found”错误 可能是因为我所查询的活动是一项贡献活动。

有人可以知道如何获取投放活动的日期时间或如何自定义“diffbl -activity baseline1 baseline2”的输出以获取活动日期时间详细信息吗?

1 个答案:

答案 0 :(得分:0)

当我查看cleartool diffbl手册页时,我看不到任何格式化选项。

这意味着您需要解析该命令的结果,将每个活动提供给cleartool describe -fmt,使用fmt_ccase option之一显示您想要的内容。

This thread让您了解要遵循的流程,但是在bash(unix)中,如果您需要它,可以适应Windows:

for act in $(ct diffbl -act bl1@/vobs/apvob bl2@/vobs/apvob | grep ">>" | grep -v "deliver." | cut -f2 -d " "); do echo "Activity: $act"; cleartool desc -fmt "%d\n" activity:$act; echo; done

多行可读性:

for act in $(ct diffbl -act bl1@/vobs/apvob bl2@/vobs/apvob 
  | grep ">>" 
  | grep -v "deliver." 
  | cut -f2 -d " "); 
  do 
    echo "Activity: $act"; cleartool desc -fmt "%d\n" activity:$act; echo; 
  done

请注意,通过排除“deliver.”活动,我们只关注贡献活动,如“How to find files asssociated with a ClearCase UCM activity?”中所述。


OP Lax报告已成功设法提取活动的名称,其中包含:

desc -fmt "%Nd\n" "activity:myActivityId" 

@\pvob已经是diffbl命令结果的一部分.Lax只是从activityid结果解析diffbl并将其放到desc }命令)

他补充说:

  

我在C#的上下文中需要这个,所以解析就像解析任何其他字符串一样:我使用正则表达式将输出分隔给我感兴趣的活动。例如:

Regex.Matches(diffBlOutput, "myInterestedPattern"); 
  

对于正则表达式结果中的每个匹配,我使用

进行活动
RegexMatch.Groups["activity"].ToString()
  

activityid实际上是此字符串的子字符串,因为结果始终为“activtyid activityName”,因此,substring(0,result.indexOf(' '));会为我提供活动ID。