svn - 如何将 SVN 存储库作为文件夹复制到另一个具有历史记录的存储库

标签 svn repository project

我有 2 个存储库

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


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

  • 如何将具有历史记录的 proj2 复制为 文件夹 在proj1的trunk中得到如下结果
    http://mysnv/svn/proj1/trunk
    
  • proj1_folder1
  • proj1_folder2
  • 项目2
  • proj2_folder1
  • proj2_folder2

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

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

    svn, version 1.7.8 (r1419691)



    我找到了 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 )
  • 检查 下 proj2_folder1 和 proj2_folder2 的数据是否存在proj1/trunk/trunk (第二个主干是 repo1 转储中的基本路径)
  • 将子主干文件夹重命名为 proj2 ( svn mv )

  • 将 svnrdump-ed 主干加载到具有父目录 trunk/Project1 的新存储库的示例

    enter image description here

    逻辑聚合
  • 创建 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/

    相关文章:

    python - 导入自定义包和模块出现问题?

    Java : Not sure if correct use of BigInteger

    linux - 无法远程连接svn服务器

    git - 同时在多个仓库中创建 git 分支

    ios - Github API 返回发布数组的空 Assets

    c# - 如何将.exe从C++项目复制到C#项目的输出目录?

    c++ - "Fatal error C1083: Cannot open include file"但我已将目录添加到项目

    perl - 子程序条目中 UNKNOWN 的奇怪副本

    Windows Server 2003 上的 Git 或 svn

    git - AOSP repo 工具具体为每个 git repo checkout 什么?