如何从SVN存储库中删除顶级目录而不丢失历史记录?

时间:2011-06-21 17:38:01

标签: svn svnadmin

我有一个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这样的迁移工具和hg convertextension时,这会产生一些困难。

我当然可以使用svn move并对所有内容进行正确的重新排序 - 但我真的很想在历史记录中做到这一点,以便转换工具更加灵活。我是否必须为此编写自定义工具,或者是否有办法通过svnadminsvndumpfilter执行此操作?

1 个答案:

答案 0 :(得分:0)

svn move与历史相符。但是分支之间的合并将变得困难。 (找出为什么移动和重命名在svn中有问题)。 我有类似的问题,我等到那时只有主干和重组的存储库结构。 合并信息(您可以将合并信息从somedir复制到trunk。它只是svn属性。

我没有尝试过svnadmin工具,如果你已经成功了,请让我吧:)