2010-10-09 98 views
3

确认!我只是错误地运行了“svn revert somefile”,粘贴了错误的文件名。现在我的修改过的文件已经不存在了!有没有办法“svn unrevert”?

我想要一个“svn unrevert”命令。 AFIK没有这样的事情。这个烂摊子的下一个最好的出路是什么?

+0

我见过没有点击“对话框1”

  • 检查。坏运气伙伴。 – DaveShaw 2010-10-09 00:34:43

  • +0

    同意,我不相信这是可能的与SVN。谨慎使用“恢复”,更好地检查一些不好的东西,必须回滚,而不是检查一些好东西:) – David 2010-10-09 00:36:05

    +0

    刚刚发现这个问题是多余的与更旧的http://stackoverflow.com/questions/1521332/is-有意无意地恢复 - svn-revert – DarenW 2010-12-22 16:46:11

    回答

    6

    没有办法取消还原。您可以恢复,因为Subversion在.svn文件夹中保留原始文件的副本,并且在运行revert命令时,备份副本将复制到工作副本中的文件上。在执行恢复之前,Subversion不会备份修改后的文件,因此除非您在某个地方复制了它,否则可能会失败。

    +2

    也就是说,如果您仍然在编辑器中打开文件,您可能可以恢复它。在某处添加一个空格并保存该文件,并将编辑器内存中的副本(包含您的修改)保存在磁盘上的副本上。 – bta 2010-10-09 00:52:55

    1

    反删除实用程序。

    我喜欢File Scavenger。

    它被击中和错过,但你有机会得到你的文件。自删除以来磁盘活动越少,您的机会就越大。

    +4

    不起作用:该文件未被删除,但被替换。 – 2010-10-09 00:36:13

    +0

    我发现与FS相同的文件的旧版本仍然存在。 NTFS!= FAT。 – 2010-10-09 09:21:53

    0

    很抱歉地说,但那是不可能的。

    4

    如果您使用Eclipse或IDEA,它们会存储本地历史记录,您可以使用它来恢复您的更改。我认为没有其他办法。

    1

    它可能会保留文件,因为它是以另一个名称$ {FILENAME} .orig或$ {FILENAME}〜还是其他名称还原之前的文件。如果没有,对不起,你运气不好。

    +0

    我使用kwrite,它保存了(文件名)〜但我关掉了这个功能,在所有文件名结尾都出现〜出现在任何地方。 :( – DarenW 2010-10-11 14:54:43

    3

    如果使用乌龟SVN:

    1. 右击这是从TortoiseSVN菜单
    2. 选择“设置”的SVN工作拷贝的一部分的任何目录。
    3. “复原的情况使用回收站”