如何从现有存储库的分支创建一个全新的存储库?

时间:2014-08-25 19:00:43

标签: svn import migrate

我试图搜索这个,但我想我只想出了复制整个存储库和/或主干的结果。就我而言,我不想从现有的存储库中复制trunk - 我只关心一个分支。

但是,可能存在问题,因为此分支在某个时间点是svn cp trunk。这是一个问题还是我可以以某种方式避免它?

基本上我需要:

existing repository
     **branches/beta** ( this was copied from trunk a long time ago)
     trunk <-- 

new repository
     **trunk** ( from branches/beta )

1 个答案:

答案 0 :(得分:1)

您可以使用svnrdump dumpsvnadmin dump | svndumpfilter从存储库的任何部分获取可移植转储(工作流程很常见,只有详细信息不同)。

您可以使用svnadmin load --parent-dirsvnrdump load以使用任何新的“挂载点”将转储装载到新存储库中。

但是,AFAICR,在转储文件中使用纯SVN工具而不使用手工,你无法删除|更改转储文件中传输的相对路径(在你的情况下,它意味着恢复转储,加载到/trunk,将在其中创建branches/beta,您必须在新存储库中svn mv之后使用其他提交进行修复

注意

使用HG-in-the-middle,你可以在目标中没有额外提交的情况下将正确重新定位的文件夹放入repo的根目录,但是 - 用于附加(本地)VCS的成本