这就是我想要完成的事情
Project_A
-SubFolder_Y
Project_X
Project_B
Project_X
所以基本上将子目录'Project_X'从项目A迁移到项目B的根目录并进行所有修订。
我正在尝试使用svnadmin命令,因为我可以访问SVN服务器。
我知道我想要这样做:
1. svnadmin dump \\Repositories\Project_A > ProjectA.dump
2. svndumpfilter include Project_X --drop-empty-revs --renumber-revs < Project_A.dump > Project_X.dump
3. svnadmin load --ignore-uuid \\Repositories\Project_B <Project_X.dump
这似乎不起作用,我在这里缺少什么?
提前致谢!!!
答案 0 :(得分:0)
首先,您必须阅读SVNBook chapter about repository history filtering。在使用某些测试存储库测试之前,不要将svnadmin load
转储到真实存储库。您必须确保svndumpfilter
生成的筛选转储包含您期望的所有数据并希望它包含所有数据。
上面的代码也会将'SubFolder_Y'作为父代 我不想要的Project_X
上面链接的文档章节对此进行了介绍。 SVNBook建议您使用文本编辑器或通过脚本重写或删除父路径(在您的情况下为SubFolder__Y)手动编辑转储文件。此任务的复杂性取决于转储文件中的修订数量,其大小,存储库路径等。但一般来说,这是一项非常重要且具有潜在危险的任务,我建议您不要手动修改转储文件。 / p>
在加载过滤后的转储后,您可以将Project_X移动到新存储库的根目录,而不是重写父路径。
命令应如下: