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
我正在寻找查询优化,但 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