如何回滚签入Clearcase的文件?

JXG*_*JXG 17 clearcase rollback

我的Clearcase存储库中有一个文件.我检查了一下并修改了它,然后重新检查了它.

我没有做任何事情,比如在我的流/视图中制作基线,变基或传递.

我很遗憾对此文件进行了更改 - 回想起来,我应该撤消结帐.

如何回滚修改?(或撤消,或恢复,或任何正确的命名法.)

Von*_*onC 23

skwllsp 描述的内容可以通过使用扩展路径名动态视图中完成

cd m:/myDynamicView/MyVob/path/to/file
cleartool lsvtree myFile
cleartool checkout -c "cancel co" myFile
copy myFile@@/main/xx myFile
cleartool checkin -nc myFile
Run Code Online (Sandbox Code Playgroud)

xx您要恢复的版本号.


但是,如果您已经进行了多次签入,包括一些您要取消的签入,ClearCase允许您通过Subtractive Merge取消部分先前的签入
请参阅IBM" 删除某些版本的贡献 "(和merge手册页)

您可以一次性删除一系列版本中的所有更改.例如,以下命令删除主分支上版本14到16的修订:

  • 在UNIX系统或Linux上:
cleartool merge -graphical -to opt.c -delete -version /main/14 /main/16
Run Code Online (Sandbox Code Playgroud)
  • 在Windows系统上:
cleartool merge -graphical -to opt.c -delete -version \main\14 \main\16
Run Code Online (Sandbox Code Playgroud)

您也可以一次从一个版本中删除更改.例如,以下命令仅从opt.c版本中删除版本14中的更改,并检出当前视图:

  • 在UNIX系统或Linux上:
cleartool merge -graphical -to opt.c -delete -version /main/14
Run Code Online (Sandbox Code Playgroud)
  • 在Windows系统上:
cleartool merge -graphical -to opt.c -delete -version \main\14
Run Code Online (Sandbox Code Playgroud)

或者,在上面的任何示例中,如果使用contributor-version-selector的版本扩展路径,则可以省略-version参数.


最后,有一两件事不是一个rmver.
这个命令会无可挽回地破坏信息,这很少是一件好事.

  • @ArvindhMani我在谈论你会"rmver"的任何版本.这会留下悬挂的超链接(或删除它们),这可能会损害其他对象的完整性(如完整的UCM基线).如果最新版本没有超链接并且没有被另一个对象引用,那么是的,`rmver`是一个解决方案. (2认同)
  • @ArvindhMani问题在于,虽然它可能适用于你的情况,但你会记住的是"`rmver`的作用"......这将导致一天不小心使用`rmver`,并会做更多的事情损伤.这就是我更喜欢限制其使用的原因. (2认同)