拆分SVN存储库

拆分SVN存储库,svn,svnadmin,svndump,Svn,Svnadmin,Svndump,因此,在尝试设置SVN服务器时,我设法将我们的repositories文件夹设置为单个存储库,之后创建的每个存储库都被视为该存储库的一部分。现在我有一个多个项目生活在一个存储库中,需要分开。有没有办法将这些文件夹分离到单独的存储库中 编辑:这似乎可以通过svnadmin dump和svnadmin load完成,但我不知道如何在存储库中转储文件夹,而不是转储整个存储库。您对整个存储库执行svnadmin dump,但是当您进行加载时,您可以使用筛选出存储库中不希望加载的部分 您可以这样使用它:

因此,在尝试设置SVN服务器时,我设法将我们的
repositories
文件夹设置为单个存储库,之后创建的每个存储库都被视为该存储库的一部分。现在我有一个多个项目生活在一个存储库中,需要分开。有没有办法将这些文件夹分离到单独的存储库中


编辑:这似乎可以通过
svnadmin dump
svnadmin load
完成,但我不知道如何在存储库中转储文件夹,而不是转储整个存储库。

您对整个存储库执行
svnadmin dump
,但是当您进行加载时,您可以使用筛选出存储库中不希望加载的部分

您可以这样使用它:

$ svnadmin dump svn_repos > svn.dump  #Entire repository
$ svndumpfilter include "foo" < svn.dump > foo.dump #Filter out just "foo"
$ svnadmin load --parent-dir / svn_foo_repos < foo.dump  #Load "foo" in own repos
$svnadmin dump svn_repos>svn.dump#整个存储库
$svndumpfilter包括“foo”foo.dump#只过滤掉“foo”
$svnadmin load——父目录/svn_foo_repos

我已经有一段时间没用了,所以我的记忆可能有点生疏,但是Subversion红豆书非常好。

@sdolgy这似乎有点帮助,但我不认为它们在不同的分支中,而是在不同的文件夹中,都在主干中。我将更新我的问题以澄清。这听起来是一个很好的解决方案。我当时也在胡闹,有一个类似的想法,但我过滤了svnadmin dump的输出以生成多个转储文件,但这似乎是一种更好的处理方法。注意,尽管我认为使用这种方法,在重新加载时修订号可能会重新编号。这对你来说可能并不重要,但如果你依赖于特定版本号的存在(例如你在bug追踪器中使用了它们),那么这可能会有问题。啊-事实上,我刚刚注意到svndumpfilter现在有一个--保留revprops标志用于此目的