我正在尝试使用svnadmin dump
迁移SVN存储库的一部分。
提供的svndumpfilter工具不管理导出中未包含的目录的复制/移动/重命名依赖项。
是否有可以管理这些依赖关系的工具?
答案 0 :(得分:3)
我发现Simon Tatham编写了一个名为svndumpfilter2的Python脚本,它试图处理简单的依赖(但我发现了一些限制)。
您还可以查看article有关他迁移到Subversion的信息以及脚本的动机。
答案 1 :(得分:0)
对于依赖项,您指的是属性svn:external?
指定的那些如果是,我认为您应该将属性中的路径引用传递给svndumpfilter。
例如,如果您的项目位于http://host/project
且svn:external属性设置为http://host/dependencies
,则可以执行类似
svndumpfilter include http://host/project http://host/dependencies < total.dump > project.dump
答案 2 :(得分:0)
你无法摆脱这个问题。如果您复制了目录/文件,则必须将(源和目标)都包含在svndumpfilter中。
但是,你可以做一些技巧:
如果转储的存储库不是来自版本0,而是说例如从修订版100开始,您将获得一个新的存储库,修订版1-100已消失。但是,您的目标存储库将修订版1中的所有文件/文件夹作为修订版100中的源存储库。这样,您可以在不丢失HEAD-Revision的情况下删除版本化数据。
您可以尝试转储/加载源存储库,直到第一次复制到“平面”存储库,然后将剩余的转储添加到其上。通过这种方式,您可以跳过麻烦的copy-from修订版,因为您的文件已经在拟合(目标)目录中。