如何在给定时间后检测流上是否有任何签入

时间:2011-05-07 02:05:07

标签: clearcase cleartool clearcase-ucm

我们使用带有15个vobs的clearcase UCM。

我们使用cleartool lshistory -all -since "time" -nco vob1/ vob2/src/ vob3/tests/ ...many more...来检测自上次以来的更改。这给出了正确的结果,但在具有大量历史的流上花费的时间太长。

如果上有“任何更改”,是否有办法尽早返回,但没有详细说明该更改?一种选择是将lshistory限制为单独的vobs,但这看起来并不优雅。我想有更好的方法可以做到这一点吗?

2 个答案:

答案 0 :(得分:2)

与lshistory相比,以下建议应超快,但它不支持任何通用的“时间”引用,仅支持早期手动保存的条目。它还取决于多站点。

如果您只想检查是否对每个vob进行了任何(本地)更改,您可以使用multitool lsepoch命令将纪元编号与之前的编号进行比较。

编辑:由于我没有UCM的经验,我一开始并没有注意到,但如上所述,这个答案只会考虑整个vob的变化,而不是问题所要求的单个流。

答案 1 :(得分:2)

由于巨额许可成本,多站点当然不是一种选择 你不能制作一个vob多站点,而不必使其adminvob / pvob也是多站点,这反过来意味着与所述adminvob相关的其他vobs,而不是总是多个自己,need to pay multisite license as well!

根据您所使用的信息级别,快照视图的简单定期更新足以检测/更新任何更改,并在update.20xx-yy-zzT123456-0x.updt文件中生成结果。

您可以设置一个负责的cron作业:

  • 更新快照UCM视图(在您要监视的流上设置,而不是在任何流上进行任何修改后的lshistory)
  • 连接各种updt文件的结果。

每当您需要检查更改时,请读取/解析作业所产生的连接结果(并重置/创建新的连接结果)。

这是一些脚本编写工作,但对于大型历史记录,这将比慢速“lshistory -all”更有效。