ClearCase:查找比标签版本更新的文件的所有版本

ClearCase:查找比标签版本更新的文件的所有版本,clearcase,Clearcase,假设我有一个版本为0到4的文件。在版本2中,我应用了一个名为mylabel的标签。现在,我想使用cleartool执行一个查找查询,该查询将提供在标记的版本2之后创建的所有版本。也就是说,我只想得到版本3和4作为输出,而不是版本0-2 我知道如何查找所有版本,但标签版本除外: cleartool find . -version "!lbtpye(mylabel)" -print 还有一个命令用于获取此元素的历史记录: cleartool lshistory -minor PATH_TO_FIL

假设我有一个版本为0到4的文件。在版本2中,我应用了一个名为mylabel的标签。现在,我想使用cleartool执行一个查找查询,该查询将提供在标记的版本2之后创建的所有版本。也就是说,我只想得到版本3和4作为输出,而不是版本0-2

我知道如何查找所有版本,但标签版本除外:

cleartool find . -version "!lbtpye(mylabel)" -print
还有一个命令用于获取此元素的历史记录:

cleartool lshistory -minor PATH_TO_FILE
从理论上讲,这给了我贴标签的日期,所以我可以这样做

cleartool find . -version "created_since(date)" -print
但是lshistory命令总是输出元素的完整历史记录,我觉得仅仅为了得到所需的日期而解析所有这些信息太难了

所以基本上我想知道是否有一个更优雅的方法来做到这一点。我可以想象,我可以首先检查哪个版本有mylabel(因为find查询已经提供了版本号),然后搜索版本高于标记版本的文件。因此,在我的示例中,在版本2中使用mylabel时,我希望得到如下结果:

cleartool find . -version "version( > /main/2)" -print
在VonC的回答之后,我应该提到labeltype只创建一次,标签本身每隔几天移动一次。因此,无法检查labeltype创建的时间。

version(>/main/2)
jas中没有等效项

这意味着一个更简单的选择应该依赖于约定,就像约定一样,应用标签的日期应该非常接近创建标签的日期
type

这意味着mklbtype应该在mklabel之前完成,然后您可以使用标签类型创建日期进行
cleartool查找-版本“自(日期)创建”-打印
查询

基本上,问题的关键是跟踪标签最后应用(或移动,因为它是一个移动标签)的日期

另一种方法是将该日期存储为附加到lbtype的属性:只有一个lbtype,并且每次移动标签时都会更改一个属性。

请参阅。

谢谢您的回答,但就我而言,这是不可能的。我们创建了一个标签来指示最新的稳定版本,并且这个标签应该时不时地移动,因此mklbtype和mklabel的时间会有所不同。它并不打算为每个稳定版本创建一个新的lbtype来减少lbtype的总量。@AndreasFinkler说得对。我用另一种解决方案编辑了答案。