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

问题描述 投票:3回答:1

我有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版本:

svn,版本1.7.8(r1419691)

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

我的svn文件夹结构就像/data/svn/repos/,我没有看到trunk文件夹。

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

svn repository project
1个回答
6
投票

物理聚合

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

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

逻辑聚合

  • 创建proj1 / trunk / proj2文件夹
  • 在proj2中创建两个svn:externals(目录类型):链接到proj2 / trunk / proj2_folder1的proj2_folder1和链接到proj2 / trunk / proj2_folder2的proj2_folder2
© www.soinside.com 2019 - 2024. All rights reserved.