2009-01-30 24 views
18

请注意:这是一个关于Eclipse插件Subversive的问题,而不是关于Subversion本身。请不要将标题更改为'Subversion'。如何使用Subversive取消删除文件?

所以我删除了一个我真的不应该拥有的文件。

我发现了各种方法来恢复Eclipse/Subversive之外的文件,但我想知道是否有最好的/最简单的使用/历史恢复方式来使用Subversive工具来恢复文件。

回答

15
  1. 中包含已删除文件的项目选择文件夹。
  2. 点击右键,选择团队>合并...
  3. URL选项卡中,URL设置为服务器URL相同的文件夹。
  4. 修订,选择修订并输入一个范围,包括删除,例如, 1000-1001,或使用浏览按钮选择它们。
  5. 修订,使反向合并
  6. 点击预览并检查它显示你计划恢复文件的新增条目。
  7. 点击OK - Eclipse中切换到SVN合并同步视图。
  8. 同步视图中,右键单击您要的文件,并选择接受
  9. 同步视图中,使用同步SVN图标从切换SVN合并SVN,您可以在其中将恢复的文件视为传出更改。
+0

谢谢你。我发现我必须在我的情况下执行一些额外的步骤,其中在同一个目录中修改了其他文件,并且与删除相同的修订。但你的指示很棒。 – tokes 2011-06-15 04:56:51

2

你可以切换到修改文件存在的地方。编辑/复制这个文件并切换回头部修改并在此处提交。

此外,您可以合并两个修订之间的更改 - 头和最后修订文件存在于存储库中,并将更改应用于您的工作副本。

4

如果您已提交删除那么现在是时候回滚到早期版本。在Subversion中,你可以通过“svn merge”来完成,在这里你将“backwards”从当前版本合并到前一版本。

说你这样做:

$ svn rm file.txt 
$ svn ci -m "don't need that file" 
Committed revision 1325. 

现在你只想要删除之前撤消此,恢复旧的版本1324,即状态(点是“当前目录”):

$ svn merge -r1325:1324 . 

如果你不确定你可以做一个模拟运行首先,SVN将打印命令的输出,但实际上没有做任何事情:

$ svn --dry-run merge -r1325:1324 . 

结果应该表明该文件被(再次)补充说:

A file.txt 
2

只是在文件夹中显示历史记录,文件已存在。然后单击历史记录并找到丢失的文件。

0

更简单:尝试提交,Eclipse会向您显示带有更改文件的对话框,使用右键单击要删除的对话框并选择“还原”。

0

我有一个类似的问题,我删除了一组文件相关的功能,几个月后我想恢复。

在我的情况下,最直接的解决方案是检查在一个单独的目录整个项目,因为它是在文件被删除之前

要从Eclipse版本库视图执行此操作,请转到您的项目,右键单击“检出为...”,在模式窗口中输入目标文件夹,选择过去存在删除文件的合适日期(奇怪,我的插件没有给出选择给定的修订版的可能性),并检查出来。

现在您可以轻松搜索,查找并复制粘贴要恢复的文件。