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

发布于 2024-11-05 07:20:45 字数 279 浏览 4 评论 0原文

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

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

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

We use clearcase UCM with 15 vobs.

We use cleartool lshistory -all -since "time" -nco vob1/ vob2/src/ vob3/tests/ ...many more... to detect changes since last time. This gives correct result, but takes too long on streams with lot of history.

Is there a way to return early if there is 'any change' on a stream, but not detailing that change? One options is to limit the lshistory to individual vobs, but that does not look elegant. I guess there is a better way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝不放开 2024-11-12 07:20:45

由于巨大的许可成本,多站点当然不是一个选择。
如果不将其 adminvob/pvob 也设置为多站点,则无法创建一个 vob 多站点,这又意味着与所述 adminvob 关联的其他 vob,而它们本身并不总是多站点,还需要支付多站点许可证!

根据您所需要的信息级别,对快照视图进行简单且定期的更新就足以检测/更新任何更改,结果会显示在 update.20xx-yy-zzT123456-0x.updt文件。

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

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

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

这是一些脚本编写工作,但对于大型历史记录,这将比缓慢的 'lshistory -all'。

Multisite is off course not an option, due to huge license costs.
You cannot make one vob multisite without having to make its adminvob/pvob also multisite, which in turn means other vobs associated to said adminvob, while not always multisited themselves, need to pay multisite license as well!.

Depending on the level of information you are after, a simple and regular update on a snapshot view is enough to detect/update any changes, with results in the update.20xx-yy-zzT123456-0x.updt file.

You can setup a cron job in charge of:

  • updating the snapshot UCM views (set on the streams you want to monitor, instead of a lshistory after any modification on any stream)
  • concatenating the result of the various updt files.

Whenever you need to check for changes, read/parse the concatenated result made by your job (and have it reset/create new concatenated ones).

This is a bit of scripting work, but for large histories, this will be much more efficient than the slow 'lshistory -all'.

谜泪 2024-11-12 07:20:45

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

如果您只想检查是否对每个单独的 vobs 进行了任何(本地)更改,您也许可以使用 multitool lsepoch 命令将纪元数与前一个进行比较。

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

The following suggestion should be super fast compared to lshistory but it does not support any generic "time" reference, only from earlier manually saved entries. It also depends on multisite.

If you only want to check if there is any (local) change made to each of the individual vobs, you could perhaps use the multitool lsepoch command to compare the epoch number with the previous.

Edit: Since I have no experience with UCM I did not notice at first, but as noted, this answer will only consider changes from the whole vob, not individual streams as the question asks for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文