我不小心在Tortoise-SVN版本库浏览器中删除了一个重要的文件夹。
工作文件夹没有受到影响。
那么,推荐的恢复方式是什么呢?
我只需要还原到以前的版本吗?
还是需要将以前的版本检出到一个新文件夹中,然后删除旧文件夹?
我不小心在Tortoise-SVN版本库浏览器中删除了一个重要的文件夹。
工作文件夹没有受到影响。
那么,推荐的恢复方式是什么呢?
我只需要还原到以前的版本吗?
还是需要将以前的版本检出到一个新文件夹中,然后删除旧文件夹?
由于您提到正在使用TortoiseSVN:
在工作目录上执行TortoiseSVN | Show Log。 右键单击删除文件夹的提交记录。 选择从此版本恢复更改。
这将重新创建工作文件夹中缺失的文件。然后,您可以还原任何其他实际想要保留的该版本中的更改。一旦您的工作文件夹处于所需状态,就可以提交。
我不确定这种方法是否保留了历史记录。
您可以从删除之前的版本中复制并将其添加回存储库。
在svn中没有真正的“撤消删除”选项。
针对命令行爱好者:
首先找到删除发生的版本号:
svn log -v http://svnserver/path/to/folderContainingDeletedFolder
假设你发现在第999个版本中目录被删除了 (顺便说一句:你可能会发现使用 SVN 仓库浏览器更容易找到版本号)
复制从版本减1的文件夹
svn copy http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder@998 http://svnserver/path/to/folderContainingDeletedFolder/deletedFolder -m "undeleted folder"
完成了,大功告成!
在Stackoverflow上有其他类似于你的问题。也许你可以从那里的答案中找到一些有用的东西。
你尝试过TortoiseSVN文档吗?
这被描述为回滚修订版本。
发生的情况是,您回滚删除操作,因此以前的版本(在您执行删除操作之前的版本)成为新的HEAD修订版本。删除操作仍将出现在日志中,但它还描述了如何挽救您的尴尬(虽然更复杂):)
享受吧!