如何移动部分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
在哪里回购是存储库的根目录,项目是您要转储的子文件夹。