如何使用Subversive取消删除文件?

时间:2009-01-30 21:59:19

标签: eclipse svn subversive

请注意:这是关于 Eclipse插件Subversive 的问题,而不是关于Subversion本身的问题。请不要将标题更改为“Subversion”。

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

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

7 个答案:

答案 0 :(得分:17)

  1. 选择项目中包含已删除文件的文件夹。
  2. 右键单击,选择 Team>合并...
  3. 网址标签上,将网址设置为同一文件夹的服务器网址。
  4. 修订中,选择修订并输入包含删除的范围,例如1000-1001,或使用浏览按钮选择它们。
  5. 修订中,启用撤消合并
  6. 点击预览,然后检查它是否显示了您计划还原的文件的已添加条目。
  7. 单击确定 - Eclipse在 Synchronize 视图中切换到 SVN Merge
  8. Synchronize 视图中,右键单击所需文件,然后选择接受
  9. Synchronize 视图中,使用 Synchronize SVN 图标从 SVN Merge 切换到 SVN ,其中您可以将恢复的文件视为外发更改。

答案 1 :(得分:4)

如果您已经提交了删除,那么现在是时候回滚到早期版本了。在Subversion中,您可以使用“svn merge”执行此操作,您可以将当前版本中的“向后”合并到之前的版本。

说你这样做了:

$ 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 :(得分:2)

您可以切换到此文件存在的版本。编辑/复制此文件并切换回头部修改并在此处提交。

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

答案 3 :(得分:2)

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

答案 4 :(得分:0)

我想您希望不要求助于命令行,但如果它作为最后的手段有用,请参阅此问题以了解如何从命令行执行此操作:What's a simple way to undelete a file in subversion?

答案 5 :(得分:0)

更简单:尝试提交,Eclipse将显示包含已更改文件的对话框,使用右键单击要删除的对话框并选择“还原”。

答案 6 :(得分:0)

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

在我的案例中,最直接的解决方案是在一个单独的目录中检查整个项目,就像删除文件之前一样

要从Eclipse Repository View执行此操作,请转到您的项目,右键单击" Check Out As ...",在模态窗口中写入目标文件夹,选择合适的过去日期已删除的文件存在(很奇怪,我的插件不提供选择给定修订的可能性..)并检查。

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