相关问题: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可以这样做,请说出来;)
解决方案:感谢Tim Henigan的回答,这是正确的方法:
// execute in destination repo
svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir
希望这也有助于其他人......
答案 0 :(得分:20)
在svndumpfilter
上查看Repository Maintenance和此部分。
一旦有了整个旧存储库的转储文件,就可以使用svndumpfilter
来提取所需的部分。
我不知道如何用TortoiseSVN做到这一点。
答案 1 :(得分:0)
派对有点晚了,但是......如果您使用TortoiseSVN提取了两个存储库的本地副本,您实际上可以通过右键单击目录(或文件)将目录从一个目录复制到另一个目录从Repo1并将其拖动到Repo2。当您释放鼠标时,您将获得以下选项列表:
&#34; SVN在此处导出版本化项目&#34;将(递归)复制历史记录。