2

我需要帮助来了解如何获取特定贡献活动何时交付到集成流的详细信息。
我曾经使用diffbl -activity baseline1 baseline2incleartool来获取从一个基线到另一个基线的活动列表。

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

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

4

1 回答 1

0

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

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

该线程让您了解要遵循的过程,但它是在 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.”活动,我们只关注贡献活动,如“如何查找与 ClearCase UCM 活动关联的文件? ”中所述。


OP Lax报告成功地提取了活动的名称,其中包括:

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

@\pvob已经是diffbl命令结果的一部分。Lax 只是activityiddiffbl结果中解析并将其放入desc命令)

他补充说:

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

Regex.Matches(diffBlOutput, "myInterestedPattern"); 

对于正则表达式结果中的每场比赛,我得到了活动

RegexMatch.Groups["activity"].ToString()

activityid实际上是这个字符串的一个子字符串,因为结果总是“ activtyid activityName”所以,substring(0,result.indexOf(' '));让我得到活动 ID。

于 2012-05-18T08:23:26.950 回答