【问题标题】:How to merge two subversion repositories using svnadmin如何使用 svnadmin 合并两个 subversion 存储库
【发布时间】:2015-01-03 06:23:40
【问题描述】:

假设以下存储库布局,如何在 Debian Wheezy 上合并两个 subversion (1.6) 存储库:

reposA
    +-trunk
        +-project-1
        +-project-2
        +-project-3
    +-tags
        +-project-1
    +-branches
        +-project-1

reposB
    +-trunk
        +-project-4
        +-project-5
        +-project-6
    +-tags
        +-project-4
    +-branches
        +-project-4

目标布局应如下所示:

reposAB
        +-trunk
            +-project-1
            +-project-2
            +-project-3
            +-project-4
            +-project-5
            +-project-6
        +-tags
            +-...
        +-branches
            +-...

我已经尝试过的是:

svnadmin dump reposA > reposA.dmp 
svnadmin dump reposB > reposB.dmp
svnadmin create new_common_repos
svnadmin load new_common_repo < reposA.dmp 
svnadmin load new_common_repo < reposB.dmp

【问题讨论】:

    标签: svn merge repository


    【解决方案1】:

    您可以将两个转储加载到单独的子文件夹中,然后根据需要重新排列:

    svnadmin create new_common_repo
    svn mkdir file:///path/to/new_common/repo/reposA -m "Created folder reposA"
    svnadmin dump reposA | svnadmin load new_common_repo --parent-dir reposA
    svn mkdir file:///path/to/new_common/repo/reposB -m "Created folder reposB"
    svnadmin dump reposB | svnadmin load new_common_repo --parent-dir reposB
    

    然后对于每个项目:

    svn mkdir file:///path/to/new_common/repo/trunk -m "Created folder trunk"
    svn mv file:///path/to/new_common/repo/reposA/project-1  file:///path/to/new_common/repo/trunk/project-1 
    

    【讨论】:

    • 使用 svnadmin dump / load 为我工作。使用 TrotoiseSVN 客户端将新创建的存储库中的大量项目移动到不同位置效果最佳
    猜你喜欢
    • 2010-09-27
    • 2010-11-28
    • 1970-01-01
    相关资源
    最近更新 更多