Inspecione as entradas de proxy de um host Subversion
Leia a configuração servers do Subversion com seus valores globais e as regras de grupos de hosts à vista ao mesmo tempo.
Para o arquivo ~/.subversion/servers habitual de um usuário Unix, esta inspeção lista entradas de proxy selecionadas e mapeamentos de grupos de hosts sem imprimir as senhas guardadas:
from configparser import ConfigParser
from pathlib import Path
settings = ConfigParser(interpolation=None)
settings.read(Path.home() / '.subversion' / 'servers')
for key in ('http-proxy-host', 'http-proxy-port',
'http-proxy-exceptions'):
print(key, settings.get('global', key, fallback=''))
if settings.has_section('groups'):
for group, patterns in settings.items('groups'):
print('group', group, patterns)Mantenha o nome do host do repositório junto desta saída. O script relata o conteúdo do arquivo, não a rota que o Subversion acabou escolhendo.
Verifique também a seção nomeada do grupo correspondente, além de global. A seção groups mapeia nomes para padrões de servidor; os valores de host e porta de um grupo correspondente podem substituir os padrões, e exceções podem contornar um proxy configurado de outra forma.
Depois considere fontes de nível de sistema e específicas da plataforma, um diretório de configuração próprio e substituições na linha de comando. Consulte os arquivos da conta ou invocação real, não o diretório pessoal de outro usuário.
Um visualizador deve rotular os valores por origem e escopo. Uma única cadeia sem qualificação sobre o proxy do sistema perde tanto a decisão específica do host quanto a distinção entre entradas de arquivo do usuário e política do sistema.