如何分割 SVN 存储库?

如何分割 SVN 存储库?

我们小组有一个存储库,我们想移动该存储库,但同时我们也想删除一些文件夹并重新索引修订版本(删除与已删除文件夹相关的所有修订版本号)。这可能吗?如果可以,该怎么做?

答案1

您应该通过停止 svnserve 或 Apache 来使存储库脱机。

然后使用以下命令将存储库内容转储到文件中

svnadmin dump repos-folder/ > repos-dumpfile

之后,您可以使用该工具过滤掉相关更改来拆分转储svndumpfilter。在下面的示例中,“my-branch”是您想要放入单独存储库的存储库中的路径:

svndumpfilter include my-branch --drop-empty-revs --renumber-revs < repos-dumpfile > branch-dumpfile
svndumpfilter exclude my-branch --drop-empty-revs --renumber-revs < repos-dumpfile > nobranch-dumpfile

然后,您可以为过滤的转储文件创建空存储库并导入转储数据:

svnadmin create repos-branch-folder
svnadmin load --ignore-uuid repos-branch-folder < branch-dumpfile
svnadmin create repos-nobranch-folder
svnadmin load --ignore-uuid repos-nobranch-folder < nobranch-dumpfile

您可以在存储库维护优秀的《Subversion 之书》的一部分。

相关内容