Для звичайного файлу ~/.subversion/servers користувача Unix ця перевірка перелічує вибрані параметри проксі та зіставлення груп вузлів, не друкуючи збережені паролі:

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 зіставляє назви з шаблонами серверів; значення вузла й порту відповідної групи можуть перевизначити типові, а винятки можуть обійти інакше налаштований проксі.

Далі врахуйте джерела системного рівня та залежні від платформи, власний каталог конфігурації й перевизначення з командного рядка. Запитуйте файли фактичного облікового запису чи виклику, а не домашній каталог іншого користувача.

Засіб перегляду має позначати значення за джерелом і областю дії. Один неточний рядок про системний проксі втрачає і рішення, специфічне для вузла, і різницю між входами з користувацького файлу та системною політикою.

Схожі статті