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