我正在尝试使用 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修订版,因为您的文件已经在拟合(目标)目录中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top