我有 2 个存储库

http://mysnv/svn/proj1/trunk
  • proj1_folder1
  • proj1_folder2


  • http://mysnv/svn/proj2/trunk
    
  • proj2_folder1
  • proj2_folder2

  • 如何将带有历史记录的proj2复制到proj1的主干中的文件夹以获得以下结果
    http://mysnv/svn/proj1/trunk
    
  • proj1_folder1
  • proj1_folder2
  • proj2
  • proj2_folder1
  • proj2_folder2

  • 实际上我想要做的是只有一个 SVN 存储库,其中包含 proj2 的所有内容以及 http://mysnv/svn/proj1/trunk 中文件夹 proj2 中的历史记录

    这是我正在使用的 SVN 版本:



    我找到了 this 博客,但我不清楚 svn 合并。它位于哪里 ./foo/trunk:proj1

    我的 svn 文件夹结构就像 /data/svn/repos/ 并且我没有看到主干文件夹。

    我正在寻找一个命令来制作副本,而不影响我的主项目 proj1。

    最佳答案

    物理聚合

  • 从 proj2 存储库( svnadmin dump | svndumpfilter --include --include > dumpsvnrdump URL-proj2_folder1 > dump1 & svnrdump URL-proj2_folder1 > dump2 )创建所需路径的转储
  • 将转储加载到 proj1 并更改了父文件夹 ( svnadmin load --parent-dir trunk < dump )
  • 检查 proj1/trunk/trunk 下 proj2_folder1 和 proj2_folder2 数据的存在(第二个中继是 repo1 转储中的基本路径)
  • 将子主干文件夹重命名为 proj2 ( svn mv )

  • 使用父目录 trunk/Project1 将 svnrdump-ed 主干加载到新仓库的示例

    逻辑聚合
  • 创建 proj1/trunk/proj2 文件夹
  • 在 proj2 中创建两个 svn:externals(目录类型):proj2_folder1 链接到 proj2/trunk/proj2_folder1
    和 proj2_folder2 链接到 proj2/trunk/proj2_folder2
  • 关于svn - 如何将 SVN 存储库作为文件夹复制到另一个具有历史记录的存储库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14795887/

    10-13 09:32