我有一个SVN存储库,其布局如下:
trunk/somedir/a
/b
/[et cetera]
branches/branch1/somedir/a
/b
/[et cetera]
branches/branch2/somedir/a
/b
/c
在整个存储库中有大约60个分支和大约17000个修订。不幸的是,本地约定是将svn:mergeinfo
信息保留在somedir
目录上,而不是分支的根目录上。这在尝试使用Fisheye等解析工具以及git svn
和hgconvertextension等迁移工具时造成了一些困难。
当然,我可以使用svn move
并正确地对所有内容进行重新排序,但我真的很想在历史上这样做,这样转换工具就可以更理智地工作。我必须为此编写一个自定义工具吗?或者有没有一种方法可以用svnadmin
和svndumpfilter
做到这一点?
svn move可以处理历史。但分支机构之间的合并将变得困难。(找出svn中移动和重命名有问题的原因)。我也有类似的问题,我一直等到那个时候只有主干和重新组织的存储库结构。合并信息(您可以将合并信息从somedir复制到trunk。它只是svn属性。
我还没有尝试过svnadmin工具,如果你成功了,现在让我:)