我需要帮助来了解如何获取特定贡献活动何时交付到集成流的详细信息。
我曾经在cleartool
中使用diffbl -activity baseline1 baseline2
来获取从一个基线到另一个基线的活动列表。
现在新的需求是我需要获取作为diffbl
输出列出的某些活动的交付日期时间。
我尝试使用lsact
,describe
但我得到" Activity not found
"错误。
可能是因为我查询的活动是贡献活动。
有人知道如何获取贡献活动交付的日期时间或如何自定义" diffbl -activity baseline1 baseline2
"的输出以获取活动日期时间详细信息吗?
当我查看cleartool diffbl
手册页时,我没有看到任何格式选项。
这意味着您需要解析该命令的结果,将每个活动提供给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 "%dn" 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 "%dn" activity:$act; echo;
done
请注意,通过排除"deliver.
"活动,我们只关注贡献活动,如"如何查找与 ClearCase UCM 活动关联的文件?"中所述。
OP Lax报告已成功提取活动名称,并带有:
desc -fmt "%Ndn" "activity:myActivityId"
(@pvob
已经是diffbl
命令结果的一部分。Lax 只是从diffbl
结果中解析activityid
并将其置于desc
命令(
他补充说:
我在 C# 上下文中需要它,因此解析就像解析任何其他字符串一样:我正在使用正则表达式将输出与我感兴趣的活动分开。 前任:
Regex.Matches(diffBlOutput, "myInterestedPattern");
对于正则表达式结果中的每场比赛,我都会获得活动
RegexMatch.Groups["activity"].ToString()
activityid
实际上是这个字符串的一个子字符串,因为结果总是"activtyid activityName
"所以,substring(0,result.indexOf(' '));
得到我活动ID。