通常の Unix ユーザーの ~/.subversion/servers について、この確認は保存済みパスワードを出力せずに、選択したプロキシ入力とホストグループの対応を一覧します:

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)

この出力と一緒にリポジトリのホスト名を保持してください。スクリプトが報告するのはファイルの内容であり、Subversion が最終的に選んだ経路ではありません。

global に加えて、一致するグループの名前付きセクションも確認します。groups セクションは名前をサーバーパターンに対応付けます。一致するグループのホストとポートの値は既定値を上書きできます。また例外は、別の方法で設定されたプロキシを迂回できます。

次に、システムレベルとプラットフォーム固有の情報源、独自の設定ディレクトリ、コマンドラインでの上書きを考慮します。別のユーザーのホームディレクトリではなく、実際のアカウントや呼び出しのファイルに問い合わせてください。

ビューアは値を情報源と適用範囲ごとにラベル付けすべきです。修飾のないシステムプロキシという文字列ひとつでは、ホスト固有の判断も、ユーザーファイルの入力とシステムポリシーの区別も失われます。

関連記事