我想将目录从大型Subversion存储库拆分为自己的存储库,并将文件的历史记录保存在该目录中.
我尝试了常规方法
svnadmin dump /path/to/repo > largerepo.dump
cat largerepo.dump | svndumpfilter include my/directory >mydir.dump
Run Code Online (Sandbox Code Playgroud)
但这不起作用,因为多年来已经移动和复制了目录,并且文件已经移入和移出存储库的其他部分.结果是很多这些:
svndumpfilter: Invalid copy source path '/some/old/path'
Run Code Online (Sandbox Code Playgroud)
我尝试的下一件事是在/some/old/path它们出现时包含那些,并且在包含很长的文件和目录列表之后,svndumpfilter完成,但导入生成的转储不会产生与当前目录相同的文件.
那么,如何在保留历史记录的同时正确地从该存储库中拆分目录?
编辑:我特别想trunk/myproj成为一个新的存储库中的主干PLUS让新的存储库不包含其他任何旧的东西,即.任何人都不可能在拆分之前更新到旧版本并获取/查看文件.
我试过的svndumpfilter解决方案可以实现这一点,遗憾的是它不可行,因为路径/文件已被移动.ng的解决方案是不可接受的,因为它基本上是克隆+删除附加内容,这保留了所有历史记录,而不仅仅是相关的myproj历史记录.