gpt4 book ai didi

clearcase - Clearcase 中事件的反向 Changset

转载 作者:行者123 更新时间:2023-12-04 00:46:51 28 4
gpt4 key购买 nike

我有一个开发团队发布的要求,要求撤销给定 UCM 事件中的所有更改。限制是我们没有删除权限。这意味着我知道我可以执行 lsactivity 来列出事件中的所有元素及其各自的版本,然后在简单的世界中就可以删除这些版本。

但是 SCM 政策不允许我们删除/rmver 任何东西。所以我只剩下向后合并 1 个版本。意思是让我们说我已经将 a.java 的版本 5 检查到一个事件中。我认为实现此目的的一种方法是找到版本 4(使用 -predecessor)并将版本 4 盲目复制为版本 6。假设这次事件中每个文件只有 1 个版本。如果一个文件通过一个事件 checkin 了 1 个以上的版本,这会更复杂,所以我们暂时忽略它。

还有其他想法或者我的方法是否可行?

最佳答案

一个更稳健的方法是:

  • 列出事件中的所有文件
  • 对于每个文件,找到最旧的版本
  • 进行否定合并,或subtractive merge .

A subtractive merge can be performed to exclude or bypass bad versions on a branch without actually removing the bad versions.
Cleartool merge using the -delete option will allow a user to merge from the last known good version to a new version on the same branch which excludes the work done in the versions identified as bad versions.

这将符合您现有的 SCM 政策。

这就是 Tamir 提到的 cset.pl 脚本的本质,正如我在“Clearcase: how to rollback all changes on specific branch?”中解释的那样

ccperl cset.pl -undo myActivity

关于clearcase - Clearcase 中事件的反向 Changset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8048754/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com