svn checkout设置代理, svn: E670003: Temporary failure in name resolution

在尝试从GitHub下载文件夹时遇到svn错误E170013和E670003,问题根源在于域名解析失败。通过在svn的[global]配置中设置http-proxy-host和http-proxy-port为代理服务器的地址和端口(例如:10.xxx.xxx.xxx:8080),可以成功解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从github上下载单个文件夹,输入:

$ svn checkout https://github.com/xxx/xxx/trunk/src

报错:
svn: E170013: Unable to connect to a repository at URL 'https://github.com/xxx/xxx/trunk/src'
svn: E670003: Temporary failure in name resolution

解决:

$ sudo vi ~/.subversion/servers

在[global]后面加入你的代理地址和端口:
http-proxy-host = 10.xxx.xxx.xxx
http-proxy-port = 8080
 

感谢:https://www.cnblogs.com/cane/p/3853314.html

### ### 问题分析 用户在使用 `svn checkout` 命令访问 SVN 仓库时遇到错误码 `E170013` 和 `E175003`,具体提示为: ``` svn: E170013: Unable to connect to a repository at URL 'https://gz00204c.gacrnd.com/svn' svn: E175003: The server at 'https://gz00204c.gacrnd.com/svn' does not support the HTTP/DAV protocol ``` 这两个错误通常表明客户端无法通过 HTTP/DAV 协议与 SVN 服务器建立有效通信。该问题可能由多个因素引起,包括 URL 格式错误、服务器未启用 HTTP/DAV 支持、SSL/TLS 配置问题或网络限制等。 --- ### ### 常见原因及解决方案 #### 1. 检查 SVN 仓库 URL 的格式 用户可能从浏览器中复制了用于 Web 浏览的仓库地址,而非适用于 `svn` 命令行工具的 URL。例如,VisualSVN Server 的 Web 界面生成的 URL 可能包含 `!/#` 等特殊字符,这些字符在命令行环境中未被正确解析。应确保使用的是标准格式的 URL,例如: ```bash https://svn.example.com/svn/repo_name ``` 如果使用的是 `https://gz00204c.gacrnd.com/svn` 这样的地址,应验证其是否为服务器实际支持的路径,而不是 Web 界面的展示路径。 #### 2. 确认服务器是否启用 HTTP/DAV 支持 Subversion 通常通过 Apache 的 `mod_dav_svn` 模块来支持 HTTP/DAV 协议。若服务器未启用该模块,客户端将无法通过 HTTPS 协议访问仓库。应检查 Apache 的配置文件(如 `httpd.conf` 或 `subversion.conf`),确保包含以下配置: ```apache <Location /svn> DAV svn SVNParentPath "C:/Repositories" AuthType Basic AuthName "Subversion repositories" AuthUserFile "C:/ProgramData/VisualSVN Server/data/authfile" Require valid-user </Location> ``` 重启 Apache 服务后,再次尝试访问仓库。 #### 3. 使用 `svn://` 或 `svn+ssh://` 协议访问仓库 如果服务器支持 `svnserve` 协议,可以尝试改用 `svn://` 或 `svn+ssh://` 协议进行访问。这些协议不依赖 Apache 和 HTTP/DAV,适用于直接连接 SVN 服务。例如: ```bash svn checkout svn://your.svn.server/repo_name ``` #### 4. 检查 SSL/TLS 配置(适用于 HTTPS) 如果使用 HTTPS 访问仓库,需确保服务器证书有效,并且客户端信任该证书。可以使用以下命令测试连接: ```bash svn ls https://your.svn.server/svn/repo_name --username yourname ``` 如果提示证书问题,可通过以下方式忽略证书验证(仅用于测试): ```bash svn checkout --trust-server-cert https://your.svn.server/svn/repo_name ``` #### 5. 清理 SVN 缓存和认证信息 有时 SVN 客户端缓存了错误的认证信息或锁文件,导致连接失败。可尝试清理本地缓存数据,具体步骤如下: - 进入项目的工作空间文件夹 - 右键选择 `TortoiseSVN > Settings > Saved Data` - 清除 `Authentication data` - 重启 IDE 或命令行工具,重新输入用户名和密码[^3] #### 6. 使用 `svn cleanup` 解锁本地文件 如果本地文件被锁定,也可能导致连接失败。可以使用以下命令清理本地锁: ```bash svn cleanup --break-locks ``` --- ### ### 示例:正确使用 `svn checkout` 假设仓库的正确访问地址为 `https://svn.example.com/svn/MyRepo`,则命令应为: ```bash svn checkout https://svn.example.com/svn/MyRepo ``` 如果提示认证信息,输入用户名和密码即可继续操作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值