在UCM中,有时我们可能需要以实验为目的进行活动。
它可能包含在最终交付中,也可能不包含在其中。
如果我们不想交付,我们就不会将其交付到集成流。
但这里的问题是依赖,有时实验活动与其他活动产生依赖,我们被迫交付它。
有没有办法安全地做实验而没有任何副作用?
是否可以删除该活动及其相应的变更集,就好像它没有添加到clearcase本身中一样?
发布于 2012-10-11 14:28:00
最安全的方法是将该实验隔离在它自己的UCM流中。
因为如果不这样做,在被迫交付所有活动之前,您可能会在一段时间内进行部分交付:请参阅"Clearcase UCM - Cross delivering vs. delivering upwards?“。
另一个依赖问题是基于文件的(当您要交付的活动基于实验活动中创建的版本时)。这是将实验隔离在自己的流中的另一个论点。
这会使删除活动变得非常危险。
只有当活动为空时,才可以删除它,这意味着如果您已经移动了另一个活动中的所有版本(这解决不了任何问题),或者如果您有rmver
它们。
并且您应该避免删除版本(在ClearCase UCM中太危险)。
有了专用的Stream,你肯定可以交付所有的活动,也可以什么都不交付。
Tamir提到的subtractive merge当然不是一个解决方案,特别是当你有很多活动要取消的时候(即当你被迫交付很多活动的时候)。
你确实有一个脚本来取消一个活动(参见"Reverse Changset of an activity in Clearcase"),但这会污染你的历史记录,因为有很多额外的版本。
发布于 2012-10-11 14:35:08
此外,你还可以做减法合并。然而,这是相当危险的,你应该非常小心。你可以在这里找到更多信息:http://www-01.ibm.com/support/docview.wss?uid=swg21123001
https://stackoverflow.com/questions/12833348
复制相似问题