Subversion通过归档历史记录拆分存储库

时间:2010-06-30 02:02:58

标签: svn

如何按版本拆分存储库,以便我可以存档其历史记录,同时仍然能够继续提交到头部存储库。

例如,假设我的存储库中有1000个版本。

我想将此存储库拆分为2:第一个包含1到500个修订版,而第二个包含501到1000个。

第一个将被归档。第二个将继续充当活动存储库,其中仍然在其上进行提交。

他们假设能够在需要时合并为一个。

无论如何想到如何实现这一目标?

3 个答案:

答案 0 :(得分:2)

请问您为什么要这样做?有一些公共回购与成千上万的提交,并提供整个回购非常方便。文件大小不应该增长太快,除非你在其中存储巨型电影或其他东西......

我认为SVN不是真的像这样工作,没有完整的历史记录,你无法追溯文件。你可以拿起旧仓库的负责人并用它开始一个新的仓库......但旧仓库和新仓库之间的任何追踪都必须手动完成。

答案 1 :(得分:2)

svnadmin dump命令可以完成“展平”存储库历史记录的任务:

svnadmin dump -r1:500 /path/to/repo > archive.dmp

svnadmin dump -r500:HEAD /path/to/repo > new_repo.dmp

svnadmin create /path/to/new/repo

svnadmin load /path/to/new/repo < new_repo.dmp

答案 2 :(得分:0)

我不知道你为什么会这么想,但你可以做到。 Subversion允许您dump your repository进入文本文件,以便将数据迁移到其他SVN服务器:

  

使用svnadmin dump命令   生成转储数据和svnadmin   加载以填充新存储库   用它。

如果您想要排除内容,也可以filter the repository history。我不确定得到你想要的东西有多复杂,但这些链接应该是开始的地方。我做了一次,但是对于与链接中的示例类似的东西。

使用Subversion时,如果有疑问,请转到the source