我们在工作中一直在做一些存储库跳跃,作为一个组合,我正在尝试将一些旧历史重写到我们将使用的新存储库中。如何将 SVN 转储文件重新加载到现有目录中存储库?
我已经做了一个svnadmin dump
我想移动的旧树干和树枝。我已经处理它们以从转储文件中的路径中删除trunk
和branches/myBranch
前缀。我也加载了一个到newRepo/fromOldRepo_ref/development
.
$ svn copy --parents file://`pwd`/newRepo/fromOldRepo_ref/development@172 file://`pwd`/newRepo/fromOldRepo_ref/features/2169 -m "Branch to 2169 reference branch"
Committed revision 182.
$ svnadmin load --parent-dir fromOldRepo_ref/features/2169 newRepo < dumpfile
<<< Started new transaction, based on original revision 2171
svnadmin: E160020: File already exists: filesystem 'newRepo/db', transaction '182-53', path 'fromOldRepo/features/2169'
* adding path : fromOldRepo/features/2169 ...
newRepo/fromOldRepo_ref/development@172
然后我从to做了上面的分支newRepo/fromOldRepo_ref/features/2169
。之后,我想2169
通过加载另一个转储文件来创建更多提交,但它会出错,如上所示。这可以解决吗?
展望未来,我知道我们的程序、工具和实践还有许多其他真正的修复,可以避免我将来想要这样做。但目前,这无济于事。:]