如何将 SVN 存储库作为文件夹复制到另一个具有历史记录的存储库 [英] How to copy SVN repository as a folder to another repository with history
问题描述
我有 2 个存储库
http://mysnv/svn/proj1/trunk
- proj1_folder1
- proj1_folder2
和
http://mysnv/svn/proj2/trunk
- proj2_folder1
- proj2_folder2
如何将带有历史记录的proj2复制到proj1的trunk中成为文件夹,得到如下结果
How can I copy the proj2 with history to be a folder in the trunk of proj1 to get the following result
http://mysnv/svn/proj1/trunk
- proj1_folder1
- proj1_folder2
- 项目2
- proj2_folder1
- proj2_folder2
- 从 proj2 存储库创建所需路径的转储(
svnadmin dump | svndumpfilter --include --include > dump
或svnrdump URL-proj2_folder1 > dump1 & svnrdump URL-proj2_folder1 > dump2
) - 将转储加载到 proj1 更改父文件夹(
svnadmin load --parent-dir trunk
) - 检查 proj1/trunk/trunk 下是否存在 proj2_folder1 和 proj2_folder2 的数据(第二个主干是 repo1 转储中的基本路径)
- 将子主干文件夹重命名为 proj2 (
svn mv
) - Create dumps of needed paths from proj2 repository (
svnadmin dump | svndumpfilter --include --include > dump
orsvnrdump URL-proj2_folder1 > dump1 & svnrdump URL-proj2_folder1 > dump2
) - Load dump(s) into proj1 with changed parent folder (
svnadmin load --parent-dir trunk < dump
) - Check presence of proj2_folder1's and proj2_folder2's data under proj1/trunk/trunk (second trunk is base path in dump of repo1)
- Rename child trunk-folder into proj2 (
svn mv
) - 创建 proj1/trunk/proj2 文件夹
- 在 proj2 中创建两个 svn:externals(目录类型):proj2_folder1 链接到 proj2/trunk/proj2_folder1和 proj2_folder2 链接到 proj2/trunk/proj2_folder2
实际上我想要做的是只有一个 SVN 存储库,其中包含 proj2 的所有内容以及
http:/中 proj2 文件夹中的历史记录/mysnv/svn/proj1/trunk
Actually what I want to do is to have only one SVN repository with all the content of proj2 and the history in the folder proj2 in
http://mysnv/svn/proj1/trunk
这是我使用的 SVN 版本:
This is the SVN version I'm using:
svn,版本 1.7.8 (r1419691)
svn, version 1.7.8 (r1419691)
我找到了这篇博客,但是svn合并不清楚对我来说.它位于
./foo/trunk:proj1
?I've found this blog, but the svn merge is unclear to me. Where is it located
./foo/trunk:proj1
?我的 svn 文件夹结构类似于
/data/svn/repos/
而我没有看到主干文件夹.My svn folder structure is like
/data/svn/repos/
and I do not see the trunk folder.我正在寻找一个命令来制作副本,而不影响我的主项目proj1.
I'm looking for a command to make the copy, without influencing my main project proj1.
推荐答案
物理聚合
将 svnrdump-ed 主干加载到具有父目录
trunk/Project1
逻辑聚合
这篇关于如何将 SVN 存储库作为文件夹复制到另一个具有历史记录的存储库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!