当我在存储库中丢失一些修订时,如何转储所有svn数据?

当我在存储库中丢失一些修订时,如何转储所有svn数据?,svn,svnadmin,Svn,Svnadmin,我想转储我的旧svn源并将其加载到我的新计算机。我以前的svn存储库大约有100GB 当我使用svnadmin dump/xx/Repositoryfile>mydump转储svn文件时,我得到了一个512Mb大小的文件。最后,我发现了原因: 因为302版已经丢失了。我只能得到1-301版本的数据 即使使用svnadmin dump/xx/Repositoryfile-r 303:90000--incremental>mydump获取其他源代码。它无法加载 如何将我的所有svn数据移动到新位

我想转储我的旧svn源并将其加载到我的新计算机。我以前的svn存储库大约有100GB

  • 当我使用
    svnadmin dump/xx/Repositoryfile>mydump
    转储svn文件时,我得到了一个512Mb大小的文件。最后,我发现了原因:

  • 因为302版已经丢失了。我只能得到1-301版本的数据

  • 即使使用
    svnadmin dump/xx/Repositoryfile-r 303:90000--incremental>mydump
    获取其他源代码。它无法加载


如何将我的所有svn数据移动到新位置?

如果在存储库未处于损坏状态时(即当存储库有丢失的修订版时)有存储库的备份,则可以修复存储库。我建议按照以下步骤修复存储库:

  • 首先,您应该检查原始转储中是否存在除302之外的损坏版本。可以使用以下命令行检查特定修订范围的一致性:

  • 如果除302之外没有损坏的修订,则应转储所有 有效的修订

    svnadmin dump/xx/Repositoryfile-r 302:HEAD>dump2.dmp

  • 找到301版本未损坏的存储库备份,并仅转储此版本:

    svnadmin dump/xx/Repositoryfile-r 301>dump3.dmp

  • 创建一个干净的存储库(通过命令)并逐个加载所有这些转储((!)注意
    dump3.dmp
    必须以第二个顺序加载)

    svnadmin加载

    svnadmin加载

    svnadmin加载


  • 这样,您将恢复存储库。如果您有301以外的其他损坏版本,则必须执行更多步骤,但方法仍然相同。我真希望它能帮上忙

    我发现我丢失了/repo_dir/db/revs/301 636My的前一个版本中的以下文件,真的给我带来了很大的麻烦。我没有可以使用的备份。看来解决这个问题的唯一方法就是先签出再签入。这些海量数据需要我花很多时间才能移动它们。T to T