【发布时间】:2013-01-29 18:02:49
【问题描述】:
我们在工作中一直在做一些存储库跳跃,作为一个杂项,我正在尝试将一些旧历史重写到我们将使用的新存储库中。如何将 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 到newRepo/fromOldRepo_ref/features/2169 进行了上述分支。之后,我想通过加载另一个转储文件在2169 中创建更多提交,但它会出错,如上所示。可以解决吗?
展望未来,我知道我们的程序、工具和实践还有许多其他真正的修复,可以避免我将来想要这样做。但目前,这无济于事。 :]
【问题讨论】: