我在不同的主机上有两个现有的subversion存储库( host -a 和 host-b ),我想将一个目录从repo A复制到repo B
基本上https://host-a/repo/some/path/moduleA
应该复制到https://host-b/repo/some/other/path/moduleA
。应保留所有历史记录,并应保留 host-b 中的现有数据。
这两个存储库没有任何冲突的目录层次结构。存储库不具有共同的祖先。
答案 0 :(得分:1)
您是否检查过svnadmin dump
和svnadmin load
组合?根据{{3}},它们可用于将一个存储库与另一个存储库合并:
转储格式还可用于将多个不同存储库的内容合并到单个存储库中。通过使用svnadmin load的--parent-dir选项,您可以为加载过程指定新的虚拟根目录。
更新
Juha,回应你的评论:有一个名为svndumpfilter
的命令(见Subversion red book)我认为可能会有所帮助。
答案 1 :(得分:0)
您可以使用svn:externals。这将消除将文件从一个仓库复制到另一个仓库的需要,并且还将继续在每个仓库中保持这些文件夹同步。您也可以访问完整的提交日志。