首页 文章

SVN将单个目录移动到其他存储库(带历史记录)

提问于
浏览
35

相关问题: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 回答

  • 20

    查看svndumpfilterRepository Maintenance上的此部分 .

    获得整个旧存储库的转储文件后,可以使用 svndumpfilter 仅提取所需的部分 .

    我不知道用TortoiseSVN做这件事的方法 .

  • 0

    派对有点晚了,但是......如果你使用TortoiseSVN删除了两个存储库的本地副本,你可以通过右键单击Repo1中的目录(或文件)来实际将目录从一个目录复制到另一个目录 . 将它拖到Repo2 . 当您释放鼠标时,您将获得以下选项列表:

    enter image description here

    “SVN Export versioned items here”将复制(递归)历史记录 .

相关问题