Answers:
只需将已删除的文件夹从较早的版本复制回来。
在资源库浏览器中,单击标记为HEAD的按钮(在右上角)以显示您的文件夹仍然存在的修订,然后右键单击该文件夹并选择“复制到...”,然后在其中输入路径希望重新创建文件夹(可能与文本框中已经存在的路径相同)。
对于命令行爱好者:
首先找到您删除发生的版本号:
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"
大功告成!
在您的情况下,可能是:
svn copy http://svnserver/project/tags@998 http://svnserver/project/tags -m "undeleted folder"
这些答案大多数都会在一定程度上起作用,但正确的答案是丹尼尔的答案。进行反向合并。这样,您就可以保留版本历史记录。
svn merge -r R1:R2
其中R1是您所在的修订,而R2是包含已删除文件/文件夹的修订。
svn copy
。
在此修订后,从拉迪的回答对我有用。
某些svn客户端可能需要使用-r版本参数指定的版本号,而不是在文件夹后使用@,如下所示:
svn copy svn://svnserver/project/tags svn://svnserver/project/tags **-r 998** -m "undeleted folder"
-r <revision>
可以使用。但是,如果您尝试直接还原文件夹,则需要使用@<revision>
。否则,它将告诉您找不到文件。
转到Repository Browser
的repository
,右键单击存在已删除文件夹的父文件夹。现在,Show Log
在父文件夹中,选择提交删除操作的先前版本。您将有一个列表,然后从修订信息中右键单击该文件夹,然后选择Update to this Revision
。
大功告成