我正在尝试使用svnadmin dump
.
提供的 svndumpfilter 工具不管理来自未包含在导出中的目录的复制/移动/重命名依赖项。
是否有可以管理这些依赖项的工具?
我正在尝试使用svnadmin dump
.
提供的 svndumpfilter 工具不管理来自未包含在导出中的目录的复制/移动/重命名依赖项。
是否有可以管理这些依赖项的工具?
我发现了一个由 Simon Tatham 编写的名为svndumpfilter2的 Python 脚本,它试图处理简单的依赖关系(不过我发现了一些限制)。
您还可以查看有关他迁移到 Subversion 和脚本动机的文章。
对于依赖项,您的意思是由属性 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 修订,因为您的文件已经在合适的(目标)目录中。