如何仅转储 SVN 存储库的特定部分?

deh*_*ann 13 svn

如何将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)

Zac*_*son 10

你需要使用这样svndumpfilter的东西。特别是svndumpfilter include。所以对于你的情况:

svndumpfilter include myproject < repository-name.dmp > myproject.dmp
svnadmin load /path/to/myproject-repo < myproject.dmp
Run Code Online (Sandbox Code Playgroud)

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


And*_*son 5

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

svnrdump dump http://svn.example.com/repos/[.../]project
Run Code Online (Sandbox Code Playgroud)

其中repos是存储库的根目录,project是您要转储的子文件夹。