如何从一个非常大的repo中获取svndump



我们有包含项目特定分支和标记的存储库。这是我的仓库的快照:

  1. 项目代码= = = = =>
    >分支- - - R1
    ——R2
    ---- R3

      =====>> tags 
    

——R1_tag
——R2_tag


项目数据库=======>> 分支机构
- - - R1
——R2
---- R3

          ======>>tags  

——R1_tag
——R2_tag

现在我想在项目代码只采取一个分支的转储,然后加载此转储到同一服务器上的其他回购。我尝试遵循,但导致空版本被加载到其他repo。

svnadmin dump /path/to/repo | svndumpfilter include /proj > dump-file
svnadmin create /new/proj/repo
svnadmin load --ignore-uuid /new/proj/repo < dump-file

和我不能依次运行以上命令,因为Repo太大,创建转储可能至少需要10个小时。此外,忽略UUID是为了删除到当前存储库的链接,还是出于其他原因?

svndumpfilter有一个删除空版本的选项,--drop-empty-revs

如果你没有一个特定的理由使用--ignore-uuid,然后尝试没有它。如果它工作,你不需要它。

您可以简化转储过滤器加载操作,而不需要中间转储文件,如下所示:

svnadmin create /new/proj/repo
svnadmin dump /path/to/repo | svndumpfilter include /proj --drop-empty-revs | svnadmin load /new/proj/repo

相关内容

  • 没有找到相关文章

最新更新