【问题标题】:How to recover an accidentally deleted folder in a svn repository如何恢复 svn 存储库中意外删除的文件夹
【发布时间】:2010-11-23 13:32:14
【问题描述】:

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

http://aralbalkan.com/1381

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

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

我应该怎么做?

【问题讨论】:

    标签: svn repository recovery


    【解决方案1】:

    最简单的方法可能是 svn 复制你想要的树,从它最后存在的版本中:

    svn copy src@rev dest
    

    详情请参阅Subversion Book

    【讨论】:

    • 这是否也复制了修订历史?我的意思是我可以浏览复制文件夹中文件的历史记录吗?
    • 是 - 带有历史记录的“svn 复制”副本。
    【解决方案2】:

    您可以签出一个新的工作副本,然后导出您感兴趣的文件夹。导出文件夹后,其中不会包含颠覆元数据。然后您可以将文件夹放入删除它的工作副本中。

    祝你好运。

    【讨论】:

      【解决方案3】:

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

      我丢失了文件的历史记录。然后我又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/
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-15
        • 2015-09-01
        • 2018-07-13
        • 2021-03-13
        • 1970-01-01
        • 2018-10-06
        • 1970-01-01
        • 2011-10-28
        相关资源
        最近更新 更多