将SVN存储库的一部分合并到另一个具有历史记录的存储库

将SVN存储库的一部分合并到另一个具有历史记录的存储库,svn,svnadmin,svndump,svndumpfilter,Svn,Svnadmin,Svndump,Svndumpfilter,我必须使用svn存储库,比如说A和B。我想把B的一些目录和历史一起添加到A中。有可能吗。更清楚地说,以下是场景 repo A repo B \branches \branches \sub-branch1 \sub-branch B1 \sub-branch2

我必须使用svn存储库,比如说
A
B
。我想把B的一些目录和历史一起添加到A中。有可能吗。更清楚地说,以下是场景

    repo A                                repo B
       \branches                          \branches 
             \sub-branch1                      \sub-branch B1
              \sub-branch2                      \sub-branch B2 
       \trunk                             \trunk 
我想做的是,在回购协议A的分支机构中添加分支机构2。如何才能做到这一点


提前感谢

是的,这是可能的。您需要使用
svnadmin dump
svnadmin load


有关更多信息,请查看此处:

获取repoB的sub-branch2转储:

  svnadmin dump /location/of/repoB | svndumpfilter include subbranch2 > my.dump
将转储合并到repoA的分支中:

  svnadmin load /location/of/repoA --parent-dir branches < my.dump
svnadmin load/location/of/repoA——父目录分支
我读了这篇文章。它非常有用。但我有一个疑问,如何定位转储文件。我认为svnadmin load请阅读我的回复以获取答案。您可以在svnadmin load命令中指定父目录。在load命令中使用--parent dir选项。例如,见jjossarin的答案。我试过了,但失败了,可能是我做错了什么。我以前的历史都丢失了。父目录是否只指定顶级目录。我的存储库真正的体系结构比我在一个问题中提到的要深1层。你能建议我是否可以恢复这个过程吗?你说的恢复是什么意思?只需从repoA中删除不需要的目录-repoB未做任何更改。加载过程中一定显示了一些消息,这些消息将帮助您了解出错的原因。空修订用于填充。是我得到的错误,并且该目录也没有添加到指定的目录中。您能告诉我原因吗?您可以尝试删除使用此命令填充的空修订:svnadmin dump/location/of/repoB | svndumpfilter--删除空修订--重新编号revs include subbranch2>my.dump