我们在工作中一直在做一些存储库跳跃,作为一个组合,我正在尝试将一些旧历史重写到我们将使用的新存储库中。如何将 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通过加载另一个转储文件来创建更多提交,但它会出错,如上所示。这可以解决吗?
展望未来,我知道我们的程序、工具和实践还有许多其他真正的修复,可以避免我将来想要这样做。但目前,这无济于事。:]