搜索ClearCase以获取具有特定注释的签入

时间:2009-04-21 10:54:47

标签: version-control clearcase

我被要求提供3个月前我在ClearCase中办理入住手续的详细信息。我知道评论中包含的QC编号但到目前为止还未能完全找到通过评论搜索ClearCase进行签入的方法。

有什么想法吗?

2 个答案:

答案 0 :(得分:9)

Brian Agnew走在正确的轨道上,但请注意:

  • 我确定不需要第二个命令行(cleartool find . -version !"lbtype(LABEL_NAME)"...
  • 'cleartool find -all'如果您认为您的文件可能已被移动很有用,但在大VOB上,该过程可能会超长
  • 没有“-nvis”选项,如果文件已被'rmnamed'(已移除),则无法找到该文件
  • 使用“lshistory -minor纯粹的疯狂:在有几个月或几年历史的vob上,它只需要花费太多时间。对于找到的每个元素,它将显示该元素的所有版本的ALL历史记录,而无法优化显示的那组版本。该解决方案根本无法扩展 那个,以及'-minor'命令的lshistory选项并没有给手头的问题带来任何价值:它只会显示相同的版本几个< / em>次,仅仅是因为内部评论,例如“Attached hyperlink "Change@13707xx@\my_pvob”或“Attached hyperlink "Merge@xxxx@\my_vob"

您需要使用以下方法优化查询:

  • 所需元素的类型(如果是文件:-type f
  • 日期“created_since(30-Jan)&&!created_since(28-Feb))”会限制要考虑的日期范围
  • 用户

我会用:

M:\my_base_view\my_base_vob>
  cleartool find -all -type f -user myLogin -version "{created_since(30-Jan)&&!created_since(28-Feb)}" -exec "cleartool descr -fmt \"%n\t%c\n\" \"%CLEARCASE_XPN%\"" >c:\output.txt

这只会查找我在特定日期期间签入的文件,这是一种可以检查较小版本的方法。

请注意,我使用“descr”(describe命令),该命令仅适用于当前版本(而不是用于显示元素的所有历史记录,如' lshistory'确实如此)。

如果您的文件已被rmnamed,请使用'-nvis'选项再次运行相同的命令(它只会找到不可见的元素及其分支和版本(没有标准路径名)观点。

警告:如果您指定一个“之前”日期,并且“将来”有一天(例如:'&&!created_since(28-Apr)}'而我们还不是4月28日),它将始终选择0个版本( !?)。
这与您的问题无关,但如果您错误地输入“错误的日期之前”,则可能会导致错误的印象,即找不到可以找到版本的版本。

答案 1 :(得分:3)

你看过this了吗?具体是以下部分。

  

如何查找具有特定注释的元素和版本

     

我想找到所有具有特定评论的元素/版本,例如“Jane在11-26更改了这个”

     

M:\ my_base_view \ my_base_vob&gt; cleartool find -all -exec“cleartool lshistory -minor -fmt \”%n \ t%c \ n \“\”%CLEARCASE_XPN%\“”&gt; c:\ output。 TXT

     

**这会将输出传递给一个文件,你必须grep该文件以获取你正在寻找的特定注释。

     

M:\ my_base_view \ my_base_vob&gt; cleartool find。 -version!“lbtype(LABEL_NAME)” - exec“cleartool describe -long%CLEARCASE_PN%”&gt; c:\ output2.txt

令人遗憾的是,看起来有点繁琐。