相关问题:Moving repository trunk to another’s branch (with history)
我知道可以转储包含历史记录的完整SVN存储库,并使用以下命令将其加载到目标存储库的用户定义(子)目录中:
// in source repo
> svnadmin dump . > mydumpfilename
// in destination repo (backslashes because I'm using Windows)
> svnadmin load . < mydumpfilename --parent-dir some\sub\directory
但这会将完整存储库导入目标存储库的子目录 . 我想要的是在源存储库中定义应该导出的子目录 . 像 svnadmin dump . --source-path old\sub\dir > mydumpfilename
这样的东西 .
我怎样才能做到这一点?如果TortoiseSVN可以这样做,请说出来;)
SOLUTION: 感谢Tim Henigan 's answer, here' s正确的方法:
// execute in destination repo
svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir
希望这也能帮助别人......
2 回答
查看svndumpfilter和Repository Maintenance上的此部分 .
获得整个旧存储库的转储文件后,可以使用
svndumpfilter
仅提取所需的部分 .我不知道用TortoiseSVN做这件事的方法 .
派对有点晚了,但是......如果你使用TortoiseSVN删除了两个存储库的本地副本,你可以通过右键单击Repo1中的目录(或文件)来实际将目录从一个目录复制到另一个目录 . 将它拖到Repo2 . 当您释放鼠标时,您将获得以下选项列表:
“SVN Export versioned items here”将复制(递归)历史记录 .