我有一个预定 EOL 的 svn 存储库,并且各种项目正在通过 svnrdump 转储和 svnadmin 加载移动到一个新的存储库。出于讨论的目的,基本拓扑是:
old repo: http://oldrepo/repositories/oldname/...
new repo: http://newrepo/repositories/newname/...
这个特定的存储库很大,我有一个开发人员希望将他的旧工作区指向新的存储库。我看到的问题是 TortoiseSVN 允许重新定位事件,并且通过输入 URL http://newrepo/repositories/newname
,初始重新定位似乎成功。但是,工作区现在认为新 repo 上的目录结构如下所示:
http://newrepo/repositories/newname/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
是新存储库的根级别。另外,我应该指出,在迁移过程中,更改被保留,但个别版本号没有。