如何仅转储 SVN 存储库的某一部分?

如何仅转储 SVN 存储库的某一部分?

如何移动部分SVN 存储库迁移到新存储库?

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

svnadmin dump /path/to/repository > repository-name.dmp

然后使用 将其加载到新的中svnadmin load

但我不确定如何只移动一部分。我是否仍需要转储整个内容?我是否需要 grep 查找我想要的部分?

为了转储myproject,我尝试了这个,但是没有用:

svnadmin dump /path/to/repository/myproject

答案1

您需要使用svndumpfilter诸如此类的东西。特别是svndumpfilter include。因此对于您的情况:

svndumpfilter include myproject < repository-name.dmp > myproject.dmp
svnadmin load /path/to/myproject-repo < myproject.dmp

http://svnbook.red-bean.com/nightly/en/svn.ref.svndumpfilter.commands.c.include.html

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering

答案2

如果您的存储库托管在某个 URL 上,则您可以使用它svnrdump来转储存储库的子文件夹:

svnrdump dump http://svn.example.com/repos/[.../]project

在哪里回购是存储库的根目录,项目是您要转储的子文件夹。

相关内容