直接用 svn relocate 命令可更新工作副本远程url,仅刷新 .svn 元数据而不改动本地文件;需先用 svn info 查原始url,确保新旧路径一致,仅协议/域名/ip变化,再执行重定位并验证 update 和 commit 是否正常。

直接用 svn relocate 命令即可更新工作副本的远程URL,不改动本地文件,只刷新 .svn 中的元数据记录。
确认当前仓库地址
执行前先查清原始URL,避免输错:
- 进入工作副本根目录(含
.svn文件夹的那一层) - 运行命令:
svn info - 记下输出中的 URL 字段(例如
http://192.168.10.21/project) - 对比新地址(如
http://192.168.8.230/project),确保路径部分完全一致,仅IP、域名或协议有变化
执行重定位命令
在工作副本根目录下运行:
- Subversion 1.7+ 推荐使用:
svn relocate 新URL(旧版用svn switch --relocate 旧URL 新URL) - 示例:
svn relocate http://192.168.8.230/project - 若提示需要旧URL,补全写法:
svn relocate http://192.168.10.21/project http://192.168.8.230/project - 输入账号密码(如需),操作完成后
svn info显示的URL应已更新
验证是否生效
重定位成功不代表一定能用,必须验证连接和权限:
- 运行
svn update:能拉取最新版本说明地址可达、路径正确 - 做一次小修改并执行
svn commit:确认可正常提交到新服务器 - 若报错 UUID 不匹配 或 无法连接主机,说明新库不是原库迁移而来,此时只能重新检出,不能靠重定位解决
注意事项
这个操作只适用于同一仓库的位置变更:
- ✅ 支持:IP变了、域名换了、HTTP升级为HTTPS、端口调整
- ❌ 不支持:切换到另一个独立SVN仓库、切换分支或子目录(该用
svn switch) - ⚠️ 切勿手动编辑
.svn/entries或其他元数据文件,容易损坏工作副本











