如何将SVN存储库作为文件夹复制到具有历史记录的另一个存储库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将SVN存储库作为文件夹复制到具有历史记录的另一个存储库相关的知识,希望对你有一定的参考价值。
我有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。
答案
物理聚合
- 从proj2存储库(
svnadmin dump | svndumpfilter --include --include > dump
或svnrdump 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
以上是关于如何将SVN存储库作为文件夹复制到具有历史记录的另一个存储库的主要内容,如果未能解决你的问题,请参考以下文章
将 SVN 存储库复制到另一个服务器存储库的子文件夹中,并带有历史记录
如何在 Subversion 存储库之间复制保留属性但不保留历史记录