如何回滚签入到Clearcase的文件?

如何回滚签入到Clearcase的文件?,clearcase,rollback,Clearcase,Rollback,我的Clearcase存储库中有一个文件。我签出并修改了它,然后又签回 在我的流/视图中,我没有做过任何事情,比如创建基线、重新设置基础或交付 我很抱歉对该文件进行了更改—回想起来,我应该撤消签出 如何回滚修改?或撤消、还原或任何正确的命名方式。打开此文件的版本历史记录,然后在编辑器中从版本树中打开文件的正确版本,再次签出文件,将其替换为以前正确版本的内容并签入。不要忘记比较上一个版本和上一个版本。可以通过使用 xx是要还原的版本号 但是如果您已经进行了多次签入,包括一些您想要取消的签入,Cle

我的Clearcase存储库中有一个文件。我签出并修改了它,然后又签回

在我的流/视图中,我没有做过任何事情,比如创建基线、重新设置基础或交付

我很抱歉对该文件进行了更改—回想起来,我应该撤消签出


如何回滚修改?或撤消、还原或任何正确的命名方式。

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

可以通过使用

xx是要还原的版本号

但是如果您已经进行了多次签入,包括一些您想要取消的签入,ClearCase允许您通过 参见IBM和

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

在UNIX系统或Linux上: 在Windows系统上: 您还可以一次从一个版本中删除更改。例如,以下命令仅从当前视图中签出的opt.c版本中删除版本14中的更改:

在UNIX系统或Linux上: 在Windows系统上: 或者,在上面的任何示例中,如果使用contributor版本选择器的版本扩展路径,则可以省略-version参数

最后,有一件事是不能做的。
这个命令会无可挽回地破坏信息,这很少是一件好事。

Clearcase可以做得比只制作一个新版本更好,您可以在其中撤消更改! 打开文件的版本历史记录,找到错误签入的版本,然后销毁它。选择要销毁的版本,然后在“版本”菜单下找到相应的命令。 如果您想使用命令行,rmver也会这样做。
正如VonC所说的那样,这将不可避免地摧毁你的错误。我看不出这有什么坏处。

这是CC能做的最好的吗?哦。我是CC的新手,在过去的5年里一直只使用svn。我知道这是一个老版本,但我同意JXG,我也在过去的6年里使用svn,在那之前的几年中使用CVS。。。抄送是最好的吗?假设您必须退出一个更改,并且许多目录中的30多个文件受到影响。为什么它不会从这种签入类型的命令中恢复更改?@Kathy:你没有看到负面影响,但这是一个非常糟糕的解决方案。唯一一个你永远不会做的事。即使在这种情况下is可能会起作用,但最好阻止用户执行rmver。曾经因为它在这里起作用意味着有一天他们会再次使用它,在这种情况下,它会破坏所有的东西。严肃地说:不要这样做。FWIW,就我个人而言,我没有权限以这种方式删除文件。当你说“无法恢复地破坏信息”时,你所说的只是与最新签入相关的信息,这些信息无论如何都是不正确的,对吗?既然如此,你为什么说这很少是件好事?签入毕竟是一个错误,那么删除这些版本有什么害处呢?请分享你的知识。@ArvindhMani我说的是任何你想要的版本。这将使超链接悬空或将其删除,这可能会损害其他对象(如完整的UCM基线)的完整性。如果最新版本没有超链接,并且没有被其他对象引用,那么是的,rmver是一个解决方案。@ArvindhMani问题是,尽管它可能在您的情况下起作用,但您会记住rmver是有效的。。。这将导致rmver有一天会被不小心使用,并造成更大的损害。这就是为什么我喜欢限制它的使用。@Jerry请尝试cp。复制适用于Windows。@Jozef是的,前提是您的版本树是从签出版本的目标视图启动的
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
cleartool merge -graphical -to opt.c -delete -version /main/14 /main/16
cleartool merge -graphical -to opt.c -delete -version \main\14 \main\16
cleartool merge -graphical -to opt.c -delete -version /main/14
cleartool merge -graphical -to opt.c -delete -version \main\14