假设我有一个包含100个元素的vob。在这100个版本中,我在各自主干的最新版本基础上创建了自己的分支。假设我一周前做了这件事。今天,我想看看这10个元素中是否有任何一个主干的版本比我一周前分支的版本更新。当然,要做到这一点,一种方法是查看所有10个元素的版本树,但是有没有一个我可以运行的命令可以自动查看vob,找到有我分支的10个元素,并检查主干上是否有比我分支的版本更新的版本?
发布于 2010-08-23 23:25:09
首先,当您创建一个分支时,该分支上没有针对所有文件的新版本。
只有当给定文件有一个checkout/checkin操作,并将配置规范设置为创建该分支时,才会实际为该文件创建一个分支。
现在,您可以运行can find here (IBM)或here来执行一些请求示例,以查找这些版本:
cleartool find . -version "brtype(myBranch)" -print将打印分支中的所有版本。
如果您将其与时间查询相结合:
cleartool find . -version "{created_since(date1) && brtype(myBranch)" -print,你应该得到你想要的东西。
不过,该操作还添加了:
我不寻找在某个日期之后创建我的分支的元素。
我正在寻找具有我的分支(在任何日期创建)并且在主干上有一个版本的元素,该版本是在我从主干创建我的分支之后创建的
“元素”是这里的关键词:当你想要列出基于多个版本的文件时,你首先要查找“元素”(即文件和目录),其中(第二个)版本符合相关标准。
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指令。
为了显示与date query兼容的数据格式,您必须使用fmt_ccase。
发布于 2010-08-25 18:47:45
为什么不使用合并功能来查看主分支上是否有版本方面的更新?如果你在main和你的分支之间运行find merge,(保持main作为源,分支作为目标)-你应该知道同时在主干上发生了什么变化。希望这能有所帮助。
PS:您可以使用clearcase合并管理器在windows上执行此操作。
https://stackoverflow.com/questions/3548368
复制相似问题