clearcase - Clearcase 中事件的反向 Changset

标签 clearcase

我有一个开发团队发布的要求,要求撤销给定 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/

相关文章:

clearcase - 当基线是增量时,为什么要向我的版本应用标签

在 Clearcase 中查找过去 30 天内未修改的文件列表

linux - 如何通过给定的 View 路径获取 ClearCase 流名称?

delphi - 如何将方法挂接到 Delphi 7 IDE 中的 Edit 事件?

c# - 从 Clearcase 的动态 View 将自定义控件 dll 添加到 Visual Studio 工具箱

jenkins - 未在 Sonar 仪表板中覆盖新代码

clearcase - 如何列出所有VOB的文件夹路径

clearcase - 是否可以将事件从一个流转移到另一个流[在同一副本内]?

git - 将历史记录从 Clearcase 保存到 Git?

diff - ClearCase:如何从事件生成补丁(统一差异)文件?