Cleartool 命令性能:lshistory 或 find -exec

Cleartool command performance: lshistory or find -exec

我正在寻找查询优化,但 IBM 在 clearcase 文档中对此不是很健谈。 所以简而言之,我们有相当大的 vob,我们想列出 2 个日期之间所做的所有更改,你认为哪个查询最快,你认为有什么改进吗?

方法一:

cleartool find -avobs -type f -element '(created_since(1-Jun-2016) &&                  !created_since(1-Sep-2016))
 && (Element_Type==""Program"" || Element_Type==""Output"" || Element_Type==""Data"")'
-ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' 
-exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' 
>| test.txt

方法二:

cleartool lshistory -avobs -since 1-Jun-2016 -fmt '#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n' -nco -pname >| test.txt

谢谢!

cleartool lshistory is about event records, the minors ones can be scrubbed。它提供的筛选选项较少,这意味着您可以得到所有内容,然后自己应用筛选器 (grep)

通常,cleartool find 会更快,因为您可以添加条件来优化搜索。

从“Additional examples of the cleartool find command”开始,为了查看所有 更改 (不仅是元素级别的创建,还有版本级别的更改),查询是:

cleartool find . -version "{created_since(date1) && !created_since(date2)}"

-打印

您可以添加的事实:

  • type f(您只需要文件,不需要文件夹)
  • 任何其他条件(注意:我在 query_language 中没有看到 "Element_Type")

这些将有助于加快查询速度。


OP M4hd1 adds :

根据您的评论,我将查询更改为:

cleartool find -avobs -type f -element '(attr_sub(Element_Type,==,"Output"))' -ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)' -exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' >| test.txt

多行:

cleartool find -avobs -type f -element '(attr_sub(Element_Type,==,"Output"))' \
  -ver 'created_since(1-Jun-2016) && !created_since(1-Sep-2016)'  \
  -exec 'cleartool describe -fmt ""#Name:%Xn Date:%Nd User:%u Label:%1.400Cl Attributes:%a Version:%Vn Comment:%Nc \n"" $CLEARCASE_XPN' \
>| test.txt