撤消删除ClearCase中的文件

时间:2011-01-08 14:16:46

标签: clearcase

我有一个包含文件夹和两个文件的ClearCase视图。我检查文件夹,删除文件并重新检查文件夹。我留下了一个文件夹和一个文件。有办法让我的文件回来吗?我正在使用标准的Windows工具套件,其中包括cleartool。

3 个答案:

答案 0 :(得分:21)

是的,可以恢复文件。这是ClearCase的一个重要特性(有时可以节省生命)。

假设你的目录是/vobs/somevob/somedir。其中包含两个文件的目录版本为/main/3;因此,包含一个文件的版本为/main/4。删除的文件为/vobs/somevob/somedir/crucial。假设ctcleartool的别名,则执行以下操作:

cd /vobs/somevob/somedir
ct co -c 'Recover file crucial' .
ct ln .@@/main/3/crucial .
ct ci -nc .

第一行表示我不必在其他三个命令中键入目录的路径;否则,它是可选的。第二行检出目录,以便进行编辑。最后一行检查修改后的目录。第三行是魔术发生的地方......

ct ln .@@/main/3/crucial .行标识在目录crucial的版本/main/3中看到的文件.,并将其链接到当前目录(已检出的版本目录)。您看到的文件版本将是您的cspec选择的文件版本,但正确的文件位于视图中(假设您确实使用cspec选择了/vobs/somevob/somedir@@/main/5。)

(请注意,您不限于将链接作为一个版本;如果需要,您可以在10年后恢复文件和20个版本。虽然您可以同时将文件链接到两个目录,但这是高度的不推荐使用;请改用符号链接。您可以将已删除的文件恢复到与其上一个已知位置不同的目录中。)

答案 1 :(得分:9)

添加到Jonathan的回答:

  • 您可以通过父目录的版本树以图形方式执行他描述的每一步:从仍然引用您的文件的版本合并到版本到当前版本(不再提及你的档案了。) 以“图形方式”进行合并(选择“图形合并”选项) 然后,您可以选择要还原的文件。

  • 您还可以通过merge -delete删除上次签到(仍为父目录)的效果:

  

警告:如果对此版本中的目录进行了多次更改,则还可以还原这些更改。使用cleartool lshistory命令确定对该目录版本所做的其他更改。

     
      
  1. 确定元素rmnamed的版本。
  2.   
  3. 使用cleartool merge -delete删除该目录版本中应用的更改。

         

    例如:

    cleartool merge -to . -delete -version \main\17
    
  4.   
  5. 如果此版本中唯一的更改是删除了所需的元素,则应自动进行更改(请参阅注意事项)。

  6.   

答案 2 :(得分:0)

要添加到之前的注释,我建议不要从ClearCase中“删除”元素,只需将它们命名为rmname。这样您实际上不会删除文件但会隐藏它们。您可以再次使用rmname命令检索(取消隐藏)以后的文件。