Clearcase 中活动的反向变更集

Pul*_*wal 3 clearcase

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

但是 SCM 政策不允许我们删除/ rmver任何东西。所以我只剩下重新合并 1 个版本了。意思是让我们说我将 a.java 的第 5 版签入了一个活动。我认为实现这一目标的一种方法是找到第 4 版(使用 -前身)并将此第 4 版盲复制为第 6 版。假设这次活动中每个文件只有 1 个版本。如果一个文件通过一个活动签入了 1 个以上的版本,这会更复杂,所以现在让我们忽略它。

任何其他想法或我的方法是否会/不会工作?

Von*_*onC 5

一种更可靠的方法是:

  • 列出活动中的所有文件
  • 对于每个文件,找到最旧的版本
  • 进行负合并或减法合并

可以执行减法合并以排除或绕过分支上的不良版本,而无需实际删除不良版本。
使用该-delete选项的Cleartool 合并将允许用户从最后一个已知的好版本合并到同一分支上的新版本,这排除了在标识为坏版本的版本中完成的工作。

这将符合您的 SCM 政策。

这实质上就是 Tamir 提到的 cset.pl 脚本是什么,正如我在“ Clearcase:如何回滚特定分支上的所有更改? ”中所解释的那样。

ccperl cset.pl -undo myActivity
Run Code Online (Sandbox Code Playgroud)