如何在svn存储库中恢复意外删除的文件夹

时间:2009-08-27 22:19:41

标签: svn repository recovery

我知道如何使用这些说明恢复到文件夹的特定版本:

http://aralbalkan.com/1381

但是,我删除了整个文件夹,并希望在不恢复存储库其余部分的情况下返回该文件夹。

我尝试重新创建文件夹然后合并更改,但svn知道我的技巧并意识到它是一个新文件夹。

我该怎么做?

3 个答案:

答案 0 :(得分:22)

最简单的方法可能是 svn copy 你想要的树,从它最后存在的修订版开始:

svn copy src@rev dest

有关详细信息,请参阅Subversion Book

答案 1 :(得分:0)

您可以查看新的工作副本,然后导出您感兴趣的文件夹。导出文件夹后,它不会包含子文件元数据。然后,您可以将文件夹放入已删除的工作副本中。

祝你好运。

答案 2 :(得分:0)

如果您在重新创建文件夹后提交了更改,则可能是您遇到了同样的问题:

我丢失了文件的历史记录。然后我再次svn deleted该文件夹,并在执行

svn cp ^/path/to/directory@revisionNumber /path/to/directory 

我收到了这个错误:

svn: path "htttp://.../path/to/directory" not found for revision "revisionNumber".

在这种情况下,您可以使用辅助文件夹(〜/ tmp /)来执行

cd ~/tmp; svn co -r revisionNumber /path/to/directory 

它将使用它包含的所有文件创建〜/ tmp / directory /文件夹。 假设你删除目录的地方是/ location / of / my / trunk / path / to /

然后发出

 cd location/of/my/trunk/path/; svn copy ~/tmp/directory/ to/

从该路径到它应该在树中的路径。