我有一个svn存储库,指定了EOL,并且各种项目正在通过svnrdump转储和svnadmin加载到新存储库。为了讨论的目的,基本拓扑结构是:将SVN工作区指向具有不同父目录的不同服务器和存储库
old repo: http://oldrepo/repositories/oldname/...
new repo: http://newrepo/repositories/newname/...
这种特殊的仓库很大,我有一个开发者希望自己的老工作空间指向新的存储库。我看到的问题是TortoiseSVN允许重新定位事件,并且通过输入URL http://newrepo/repositories/newname
,初始重定位似乎成功。但是,工作区现在认为在新的回购目录结构是这样的:
http://newrepo/repositories/newname/oldname
有没有一种方法,以消除工作区的参考OLDNAME?由于额外的非目标目录,SVN更新失败。我能想到的唯一选择是让该开发人员从新存储库中检出全部所需的工作空间,并让他将他的WIP文件复制到新的工作空间中。客户端是否有其他选择或解决方案?
编辑:工作目录是c:\ SVN \ FolderA。执行命令:svn relocate http://newrepo/repositories/newname/Folder1/FolderA
返回以下错误:
svn: E155024: Invalid relocation destination: 'http://newrepo/repositories/newname/Folder1/FolderA' (does not point to target)
我不知道有关这是怎样的,但原来的仓库位置oldrepo是一个文件夹,但在新的存储库,newrepo(即:http://newrepo/repositories/newname
)是新存储库的根级别。另外,我应该指出,在迁移过程中,变更被保留,但个别版本号不是。
您的开发人员可能不得不将其项目与旧工作区断开连接,删除其项目并将其项目从新工作区导出。 –
我指示他这样做。我的感觉是,由于目录结构已从旧版本更改为新版本库,因此将旧的工作区指向新版本库没有干净的方法。 – OrionRogue
@GilbertLeBlanc,如果你想把你的评论作为一个正式的答案,这就是我所接受的。 – OrionRogue