如何迁移部分 SVN 存储库?

use*_*474 4 svn migration

如何将SVN 存储库的一部分迁移到新存储库中?

要将完整的SVN 存储库的内容迁移到新存储库,必须先转储旧存储库:

svnadmin dump /path/to/repository > repository-name.dmp
Run Code Online (Sandbox Code Playgroud)

然后使用svnadmin load.

但我不确定如何只迁移一部分。我还需要倾倒整个事情吗?我要搜索我想要的部分吗?

只是 dump myproject,我试过这个,但没有用:

svnadmin dump /path/to/repository/myproject
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 6

如果你想拉取部分存储库,一个特定的子目录。您首先需要转储整个存储库,运行 svndumpfilter 以包含该目录,最后将内容加载到一个干净的存储库中。

假设您要移动目录 Calc,您可以这样做:

svnadmin dump repos > dumpfile
cat dumpfile | svndumpfilter include Calc > dumpfile-Calc
Run Code Online (Sandbox Code Playgroud)

然后要正确加载 Calc 目录,您将执行以下操作:

svnadmin create newrepos
svnadmin load Calc < dumpfile-Calc
Run Code Online (Sandbox Code Playgroud)

这是从文档中获取并稍微修改的:http : //svnbook.red-bean.com/en/1.0/ch05s03.html


Mar*_*son 0

当我想这样做时,我只是做了 ansvnadmin dump和 an svnadmin load,就像你做的那样,然后我从存储库中删除了其他所有内容。

该存储库的大小只有 3GB,所以这并不是什么大不了的事情,而且出于安全性的考虑,它也不是那么好,因为你显然可以通过回滚来撤消删除,但它达到了同样的效果,因为我找不到这样做的方法是保留修订历史记录。