如何将Subversion Dump中的BRANCH恢复(加载)到新服务器上的新存储库中?

时间:2012-03-26 20:43:52

标签: svn tortoisesvn

鉴于谷歌搜索显示绝对没有点击,我想我知道这个问题的答案(“不,你不能这样做”),但只是为了确定...

我使用svn dump来备份一个subversion存储库。现在我想在不同的服务器上进行svn加载,并重新安装该备份的subversion。但问题是......我只想恢复特定的分支而不是整个存储库。

是否可以使用svn load或其他工具?

我已经发现了这个问题......

How do i dump a specific subversion path from a berkeley db?

这实现了相同的目标(如果所有其他方法都失败了,我肯定可以这样做,但我想节省一些时间)。使用该帖子,您只需要转储所需内容,然后直接加载。我只想从完全转储中加载我需要的东西。

修改
感谢您的反馈意见。但我仍然没有得到它。

  • 我的转储文件位于e:\ svnBackups \ repoBackup.svn
  • 我的所有新回购都在e:\ Repositories
  • 我想只恢复e:\ svnBackups \ repoBackup.svn的一个分支。
  • 我要恢复的分支位于备份中的productionRepo / Projects / Branches / MyCoolBranch。
  • 我想在e:\ Repositories \ newRepo
  • 上新的repo(在新服务器上)

使用此信息,我键入什么命令行命令才能实现?

赛斯

2 个答案:

答案 0 :(得分:0)

嗯......不会

svndumpfilter include BRANCH_PATH DUMP_FILE | svnadmin load REPOSITORY

这样做,还是我误解了这个问题?

答案 1 :(得分:0)

svndumpfilter将允许您只保留一个分支,就像AKX指出的那样。事实上,你可以一次性完成:

$ svnadmin dump $old_repos | svndumpfilter include $branch_path \
   | svnadmin load --force-uuid $new_repos

唯一的问题是分支将是一个分支,并且您将没有主干或标签。当然,您可以简单地将分支重命名为trunk。

您可以在加载期间使用svnadmin load --parent-dir将分支移动到主干。你必须试验它。