Subversion将其代理配置保留在~/.subversion/servers
文件(https://www.visualsvn.com/support/svnbook/advanced/confarea/#svn.advanced.confarea.opts.servers)中。
有没有办法通过Subversion命令行客户端访问此信息,类似于git config --global --list
?
我正在寻找一种方法来访问读取和写入访问的信息,我想避免解析该文件。
答案 0 :(得分:1)
由于似乎无法通过svn可执行文件获取代理配置,因此我使用了嵌入式Python脚本。为何选择Python?因为它有ConfigParser模块,允许读/写INI风格的文件:
if $(command -v svn &> /dev/null) && $(command -v python &> /dev/null) ; then
python - <<END
import ConfigParser, os
config = ConfigParser.ConfigParser()
config.read(os.path.expanduser('~/.subversion/servers'))
if (config.has_section('global')):
proxy_host = ''
proxy_port = ''
proxy_exceptions = ''
if (config.has_option('global', 'http-proxy-host')):
proxy_host = config.get('global', 'http-proxy-host')
if (config.has_option('global', 'http-proxy-port')):
proxy_port = config.get('global', 'http-proxy-port')
if (config.has_option('global', 'http-proxy-exceptions')):
proxy_exceptions = config.get('global', 'http-proxy-exceptions')
print 'http-proxy-host : ' + proxy_host
print 'http-proxy-port : ' + proxy_port
print 'http-proxy-exceptions: ' + proxy_exceptions
END
fi
此代码读取~/.subversion/servers
文件并打印值。类似的代码可用于更改代理值。