TortoiseSVN(Subversion):ConfigDir配置文件内隧道配置不生效问题
问题:自定义ConfigDir中[tunnels]段隧道配置不生效
问题详情
- 配置现象:将TortoiseSVN的ConfigDir指定为
C:\example_dir后,该目录下config文件的[tunnels]段配置无效果,但[miscellany]段的global-ignores配置可正常生效。 - 操作步骤:
- 右键TortoiseSVN菜单→设置→高级,将ConfigDir设为
C:\example_dir; - 编辑
C:\example_dir\config,添加:[tunnels] alt-ssh = ssh -i C:\example\filepath\to\private-key - 命令行执行测试命令:
svn list svn+alt-ssh://some_domain.xyz/C:/path/to/repository
- 右键TortoiseSVN菜单→设置→高级,将ConfigDir设为
- 错误信息:
svn: E170013: Unable to connect to a repository at URL ...
svn: E125002: Undefined tunnel scheme 'alt-ssh'
注:若将相同的alt-ssh隧道配置放在默认配置文件中,上述svn list命令可正常运行。
原因分析
TortoiseSVN的ConfigDir设置仅对TortoiseSVN图形界面工具生效,命令行环境下的svn客户端并不会读取这个自定义路径的配置文件,它默认只会加载系统或用户默认路径下的svn配置(Windows下通常为%APPDATA%\Subversion\config)。这就是为什么[miscellany]配置在TortoiseSVN界面中生效,但命令行svn无法识别自定义隧道的原因。
解决方案
方案1:为命令行svn指定自定义配置路径
通过设置环境变量让命令行svn读取C:\example_dir下的配置:
- 打开系统环境变量设置(右键此电脑→属性→高级系统设置→环境变量);
- 在「用户变量」或「系统变量」中新增变量:
- 变量名:
SVN_CONFIG_DIR - 变量值:
C:\example_dir
- 变量名:
- 关闭当前所有命令行窗口,重新打开后执行测试命令即可生效。
方案2:修改命令行svn的默认配置文件
找到命令行svn默认的配置文件路径(Windows下一般是%APPDATA%\Subversion\config),将以下内容添加到该文件的[tunnels]段:
alt-ssh = ssh -i C:\example\filepath\to\private-key
保存后直接执行测试命令即可。
验证方式
执行原测试命令:
svn list svn+alt-ssh://some_domain.xyz/C:/path/to/repository
若能正常显示仓库文件列表,则配置生效。
内容的提问来源于stack exchange,提问作者user27398370
相关产品推荐
相关产品推荐

