18

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

我没有做任何事情,比如在我的流/视图中创建基线、变基或交付。

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

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

4

3 回答 3

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

xx您要恢复的版本号。


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

您可以一次从一系列版本中删除所有更改。例如,以下命令删除主分支上版本 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

或者,在上述任何示例中,如果您使用贡献者版本选择器的版本扩展路径,则可以省略 -version 参数。


最后,不要一件事是rmver.
该命令会不可挽回地破坏信息,这很少是一件好事。

于 2010-01-27T17:55:22.437 回答
3

Clearcase 可以做得比仅仅制作一个撤销更改的新版本要好得多!打开文件上的版本历史记录,找到您错误签入的版本,然后将其销毁(选择要销毁的版本并在“版本”菜单下找到相应的命令)。如果您想使用命令行,这也是 rmver 所做的。正如VonC所说,您的这无可挽回地破坏了您的错误。我没有看到它的缺点。

于 2010-01-28T00:40:55.977 回答
1

打开此文件的版本历史记录,然后在编辑器中从版本树中打开文件的正确版本,再次签出文件,将其替换为先前正确版本的内容并签入。不要忘记比较以前的版本和最后一个版本。

于 2010-01-27T13:23:51.173 回答