Cleartool命令性能:lshistory或find -exec

时间:2016-09-13 20:45:59

标签: optimization clearcase cleartool

我正在寻找查询优化,但IBM在clearcase文档中并不是很讨厌。 所以简而言之,我们有相当大的vob,我们想列出两个日期之间所做的所有更改,哪个查询你的事情是最快的,你看到有什么改进吗?

方法1:

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

方法2:

time.sleep

谢谢!

1 个答案:

答案 0 :(得分:1)

cleartool lshistory与事件记录minors ones can be scrubbed有关。它提供的过滤选项更少,这意味着您可以获得所有内容,然后自己应用过滤器(grep

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

来自" Additional examples of the cleartool find command",为了查看所有更改(不仅仅是元素级别的创作,而是版本级别的更改),查询是:

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

-print

您可以添加:

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

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

OP M4hd1添加in the comments

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

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