ClearCase:从当前版本恢复为带标签的版本

时间:2011-05-03 13:29:31

标签: clearcase

我在我们的源代码管理中做了一堆错误的签到。 在开始修改之前,我用标签标记了所有元素版本。

如何告诉clearcase进行合并搜索并提供比标记文件更新的所有文件,以便我可以回滚更改?

当我进行简单合并时,没有任何内容出现

1 个答案:

答案 0 :(得分:1)

一个解决方案就是设置一个新的配置规范,以标签为起点,并设置mkbranch规则(创建一个新的分支,而不是处理当前的分支)。

这样,您只会在错误的签到之前看到并修改带有标签的文件 UCM可以应用相同的想法(使用在错误的签到之前完成的基线的子流)

话虽这么说,要恢复相对较少的文件,可以使用基于find query的手动解决方案(Windows语法):

cleartool find -all -element "{lbtype_sub(REL1)" -exec "cleartool find \"%CLEARCASE_PN%\" -version "{created_since(label-date) && brtype(label_branch) }" -print

这个想法是结合第一个查询来查找在其版本中具有该标签的所有元素(文件或目录),然后使用该元素(通过\"%CLEARCASE_PN%\"引用)来查找是否有任何版本自标签日期和右侧分支(您执行错误提交的那个)创建的。

这与negative or subtractive merge相结合,可以使过程自动化。