Clearcase:如何检查一个元素是否在我从主干分支后创建的主干上有一个版本?

时间:2010-08-23 14:12:33

标签: clearcase

假设我有100个元素的vob。在100个中,我创建了自己的分支,从各个中继的最新版本开始。假设我一周前做过这个。今天,我想看看10个元素中的任何一个中继是否有一个比我一周前分支的版本更新的版本。当然,一种方法是查看所有10个元素的版本树,但是有一个命令我可以运行,它将自动查看vob,找到有我的分支的10个元素,并检查是否有中继线上的版本是否比我分支的版本更新?

2 个答案:

答案 0 :(得分:1)

首先,当您创建分支时,该分支上没有所有文件的新版本。
实际上,只有当该文件具有checkout / checkin操作且配置规范设置为进行该分支时,才会为给定文件创建分支。

现在,您可以运行can find here (IBM)here一些请求来查找这些版本:

cleartool find . -version "brtype(myBranch)" -print

会打印分支中的所有版本。

如果将其与时间查询结合使用:

cleartool find . -version "{created_since(date1) && brtype(myBranch)" -print

,你应该得到你想要的。


OP虽然补充道:

  

我不是在寻找在特定日期之后创建分支的元素   我正在寻找具有我的分支(在任何日期创建)的元素,并且在我从主干创建分支后创建的主干上有一个版本

“element”是这里的关键词:当你想根据多个版本列出文件时,你首先要查找“元素”(即文件和目录),其中(第二个)版本符合相关标准

cleartool find . -element "{brtype(myBranch)" -version "{created_since(date1) && brtype(trunk)" -print

但这并不能保证“trunk”上的版本在“my_branch”之后创建。

为此你必须首先编写脚本:

cleartool find . -element "{brtype(myBranch)" -exec "cleartool descr -fmt \"%n %d\" \"%CMEARCASE_XPN%\"" > afile

,然后使用该文件为找到的每个文件和版本构建相关的find指令 您必须使用fmt_ccase才能显示与date query兼容的数据格式。

答案 1 :(得分:0)

为什么不使用合并功能来查看主分支上是否有任何版本更新的内容?如果你在main和你的分支之间运行一个find merge,(保持main作为源和分支作为目标) - 你应该知道同时在trunk上发生了什么变化。希望这可以帮助。

PS:您可以使用clearcase合并管理器在Windows上执行此操作。