【问题标题】:How to restore svn repository from zipped file with pristine in windows如何在 Windows 中从原始压缩文件中恢复 svn 存储库
【发布时间】:2019-08-25 02:16:21
【问题描述】:

我有一个 zip 格式的 svn 存储库,它包含一个原始名称的文件夹,还有一个子文件夹“.svn”,在“.svn”里面,有一个名为“pristine”的子文件夹,在“pristine”文件夹下,有几个子文件夹(我猜它们是针对不同版本的),每个子文件夹下都有一个.svn-base文件。

有人可以告诉我恢复回购的程序或工具吗?非常感谢您。

更新:

这是我按照建议采取的步骤:

  1. 在以下位置创建一个新存储库:I:\Temp

  1. 将 repo 签出到:I:\Tempwc

  1. 解压“备份”以覆盖 I:\Tempwc 下的 .svn 文件夹

  1. 尝试从合并的 .svn 中提交,但什么也看不到:

看起来我无法恢复任何内容,但 zip 文件在解压缩后确实有 >1GB 的大容量。

我现在能做什么?

非常感谢

【问题讨论】:

    标签: svn restore


    【解决方案1】:

    您无法从中恢复存储库。您拥有的是工作副本,其中不包含完整的存储库历史记录。您的工作副本仅包含您的本地未提交更改和足够的缓存数据,以便您查看最近的日志并在上次从存储库中提取的内容与您的本地更改之间进行比较。

    要恢复存储库,您需要由svnadmin dumpsvnrdump 创建的存储库转储文件

    根据您的操作进行编辑

    您需要执行以下操作:

    1. 解压ZIP文件到I:\MyOldWC
    2. 删除I:\MyOldWC\.svn。现在没用了,因为没有对应的仓库。
    3. svnadmin create I:\MyNewRepo
    4. svn import i:\MyOldWC file:///i:/MyNewRepo
    5. svn checkout file:///i:/MyNewRepo I:\MyNewWC
    6. 删除I:\MyOldWC

    您的工作副本备份(zip 文件)中不包含可以导入存储库的历史记录。您的存储库历史记录已丢失。这是事实。

    a whole section of Chapter 5 of the Subversion book 解释了如何备份您的存储库。我建议您在这种情况再次发生之前为您的新存储库实施某种备份过程。

    【讨论】:

    • 谢谢。那么是否有可能从中恢复任何东西?
    • 没有什么可以变成有历史的存储库。您可以将除.svn 目录之外的所有内容提交到新存储库,但您不会有任何历史记录。存储库中的任何更改,但您尚未删除。如果存储库包含的内容多于您的工作副本中的内容,那就会丢失。
    • 是否可以在离线模式下从中恢复任何东西?离线意味着无法连接到工作环境,谢谢。
    • 你没有什么可以恢复。您所拥有的只是工作副本。您在 zipfile 中看到的就是您所拥有的一切。历史,存储库结构的其余部分,都消失了。您所能做的就是使用您已经获得的文件并且没有历史记录来启动一个新的存储库。
    • 谢谢,你能分享一些步骤(用命令)吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多