我的Clearcase存储库中有一个文件。我检查了一下并修改了它,然后重新检查了它。
我没有做任何事情,例如在我的信息流/视图中制作基线,变基或投放。
我很遗憾对此文件进行了更改 - 回想起来,我应该撤消结帐。
如何回滚修改? (或撤消,或恢复,或任何正确的命名法。)
答案 0 :(得分:23)
What is described by skwllsp可以通过使用dynamic view
在extended pathnames中完成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
xx
是您要恢复的版本号。
但是,如果您已经制作了多个签到,包括您要取消的部分,则ClearCase允许您通过 Subtractive Merge
请参阅IBM“to remove contributions of some versions”(和merge
man page)
您可以一次性删除一系列版本中的所有更改。例如,以下命令将删除主分支上版本14到16的修订:
- 在UNIX系统或Linux上:
cleartool merge -graphical -to opt.c -delete -version /main/14 /main/16
- 在Windows系统上:
cleartool merge -graphical -to opt.c -delete -version \main\14 \main\16
您也可以一次从一个版本中删除更改。例如,以下命令仅从当前视图中检出的opt.c版本中删除版本14中的更改:
- 在UNIX系统或Linux上:
cleartool merge -graphical -to opt.c -delete -version /main/14
- 在Windows系统上:
cleartool merge -graphical -to opt.c -delete -version \main\14
或者,在上面的任何一个示例中,如果使用contributor-version-selector的版本扩展路径,则可以省略-version参数。
最后, 的一件事是<{3}}。 这个命令会无可挽回地破坏信息,这很少是一件好事。
答案 1 :(得分:3)
Clearcase可以做更好的事情,而不仅仅是制作撤消变更的新版本! 打开文件的版本历史记录,找到错误签入的版本并销毁它(选择要销毁的版本并在“版本”菜单下找到相应的命令)。 如果你想使用命令行,这也是rmver所做的。 正如VonC所说,你的这个无可挽回地破坏了你的错误。我没有看到它的缺点。
答案 2 :(得分:1)
打开此文件的版本历史记录,然后在编辑器中打开版本树中文件的正确版本,再次检出文件,将其替换为以前正确版本的内容并签入。请不要忘记比较以前的版本和上一个版本。