逆转在Clearcase活动的Changset

时间:2011-11-08 10:07:51

标签: clearcase

开发团队发布了一项要求,要求撤销给定UCM活动中的所有更改。约束是因为我们没有删除权限。意思是我知道我可以用 lsactivity 列出活动中与其各自版本相关的所有元素,然后在简单的世界中就可以删除这些版本。

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

任何其他想法或我的方法是否会起作用?

1 个答案:

答案 0 :(得分:4)

另一个更强大的方法是:

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

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

这符合您的SCM政策。

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

ccperl cset.pl -undo myActivity