如何取消删除SVN存储库

时间:2010-05-24 22:00:05

标签: svn tortoisesvn

我不小心删除了Tortoise-SVN Repro浏览器中的主要文件夹。 工作文件夹不受影响。

推荐的扭转方法是什么?
我只是恢复到以前的版本? 或者我是否需要在以前的版本中将Checkout导入新文件夹并删除旧文件夹?

7 个答案:

答案 0 :(得分:8)

  1. 将您的工作副本更新为头版
  2. 查看以前的版本到新文件夹
  3. SVN将已删除的文件夹从priorVersionFolder复制到headVersionFolder
  4. 添加headVersionFolder
  5. SVN提交headVersionFolder

答案 1 :(得分:5)

既然你提到你正在使用TortoiseSVN:

做一个TortoiseSVN |显示登录工作目录。 右键单击您删除文件夹的签入。 选择还原此修订版本中的更改。

这将在您的工作文件夹中重新创建丢失的文件。然后,您可以还原该实际要保留的修订中的任何其他更改。将工作文件夹置于所需状态后,提交。

我不确定此方法是否会保留历史记录。

答案 2 :(得分:1)

您可以在删除之前从修订版中复制一份,然后将其添加回仓库。

他们不是svn中真正的'取消删除'选项。

答案 3 :(得分:0)

  1. 查看最新版本的repo到新目录。
  2. 使用Tortoise合并到删除前的版本。
  3. 检查合并的结果。
  4. 有关详细信息,请参阅the Subversion book

答案 4 :(得分:0)

Stackoverflow还有其他与您类似的问题。也许你可以从那里的答案中找到有用的东西。

答案 5 :(得分:0)

您是否尝试过TortoiseSVN文档?

这被描述为Rollback revisions

您所做的就是回滚删除,因此之前的版本(删除前的版本)将成为新的HEAD修订版。删除仍会显示在日志中,但它也描述了如何保存您的尴尬(虽然这更复杂):)

答案 6 :(得分:0)

对于命令行爱好者:

  • 首先找到您的删除发生的修订号:

    svn log -v http://svnserver/path/to/folderContainingDeletedFolder
    

说您发现该目录已在修订版999中删除 (顺便说一下:您可能会发现使用svn repo浏览器更容易找到修订号)

  • 从修订版减1

    复制文件夹
    svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
    

瞧,你已经完成了!