From eaab26940d5be4d56f96a011b4f03b574279c70e Mon Sep 17 00:00:00 2001 From: liumangmang Date: Tue, 10 Feb 2026 10:26:10 +0800 Subject: [PATCH] =?UTF-8?q?docs(SVN):=20=E8=A1=A5=E5=85=85=20SVN=20?= =?UTF-8?q?=E4=BB=93=E5=BA=93=E5=9C=B0=E5=9D=80=E5=8F=98=E6=9B=B4=EF=BC=88?= =?UTF-8?q?Relocate=EF=BC=89=E4=BD=BF=E7=94=A8=E6=8C=87=E5=8D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增使用命令行执行 svn relocate 的详细步骤和参数说明 - 添加验证 relocate 成功的方法,即使用 svn info 查看 URL更新情况 - 说明 IntelliJ IDEA 中执行 Relocate 的操作流程 - 列出使用 Relocate 时的注意事项,包含提交更改、备份、权限和证书等 - 解答常见问题,如 "Repository UUID mismatch" 和 relocate 后无法更新的解决办法 --- .../linux/Linux_Mint/SSH隧道访问SVN.md | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/src/programming/linux/Linux_Mint/SSH隧道访问SVN.md b/src/programming/linux/Linux_Mint/SSH隧道访问SVN.md index c512cab..38c4b62 100644 --- a/src/programming/linux/Linux_Mint/SSH隧道访问SVN.md +++ b/src/programming/linux/Linux_Mint/SSH隧道访问SVN.md @@ -338,3 +338,73 @@ sudo iptables -A INPUT -p tcp --dport 48080 -j DROP > 这是在类似"只能通过某台中间机访问 SVN"情况下的最佳实践。 --- + +## 十一 SVN 仓库地址变更(Relocate) + +当 SVN 服务器地址发生变化(如 IP 变更、端口变更或域名变更)时,需要使用 `svn relocate` 命令更新本地工作副本的仓库地址,而无需重新检出代码。 + +### 11.1 使用命令行 Relocate + +如果你习惯使用终端(CMD, PowerShell, Bash),可以使用 `svn relocate` 命令。 + +**步骤**: + +1. 打开终端,`cd` 进入你的项目目录 +2. 执行以下命令: + +```bash +svn relocate https://10.6.220.216:48080/svn/houtai/ https://10.6.221.149:48080/svn/houtai/ +``` + +**参数说明**: +- 第一个 URL:旧的仓库地址 +- 第二个 URL:新的仓库地址 + +或者,如果你已经在项目根目录下,通常只需要简写新地址: + +```bash +svn relocate https://10.6.221.149:48080/svn/houtai/ +``` + +### 11.2 验证 Relocate 是否成功 + +```bash +svn info +``` + +查看输出中的 `URL:` 字段是否已更新为新地址。 + +### 11.3 IDEA 中 Relocate + +如果你使用 IntelliJ IDEA: + +1. 打开项目,点击菜单 `VCS` → `Subversion` → `Relocate` +2. 在弹出的对话框中: + - **From URL**:旧地址 + - **To URL**:新地址 +3. 点击 **OK** 完成切换 + +### 11.4 注意事项 + +| 注意点 | 说明 | +| :--- | :--- | +| **先提交本地修改** | relocate 前确保没有未提交的更改,避免冲突 | +| **备份工作副本** | 重要项目建议先备份,防止意外 | +| **检查权限** | 新地址需要相同的 SVN 认证权限 | +| **SSL 证书** | 如果新地址证书不同,需要重新信任 | +| **Relocate vs Switch** | Relocate 用于服务器地址变更;Switch 用于在同一仓库内切换分支 | + +### 11.5 常见问题 + +**Q: 提示 "Repository UUID mismatch"?** + +A: 表示新旧地址指向的仓库不是同一个。确认地址是否正确,或者是否需要重新检出。 + +**Q: Relocate 后无法更新?** + +A: 检查: +- 新地址是否可访问 +- 认证信息是否正确 +- 防火墙是否放行了新端口 + +---