Dla typowego pliku ~/.subversion/servers użytkownika Uniksa ten przegląd wymienia wybrane dane wejściowe serwera proxy i mapowania grup hostów bez drukowania zapisanych haseł:

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)

Zachowaj nazwę hosta repozytorium wraz z tym wynikiem. Skrypt zgłasza zawartość pliku, a nie trasę, którą Subversion ostatecznie wybrał.

Sprawdź także nazwaną sekcję pasującej grupy, nie tylko global. Sekcja groups mapuje nazwy na wzorce serwerów; wartości hosta i portu pasującej grupy mogą zastąpić wartości domyślne, a wyjątki mogą omijać inaczej skonfigurowany serwer proxy.

Następnie uwzględnij źródła na poziomie systemu i specyficzne dla platformy, własny katalog konfiguracji oraz nadpisania z wiersza poleceń. Pytaj o pliki rzeczywistego konta lub wywołania, a nie o katalog domowy innego użytkownika.

Przeglądarka powinna oznaczać wartości według źródła i zakresu. Pojedynczy niekwalifikowany ciąg o serwerze proxy systemu gubi zarówno decyzję specyficzną dla hosta, jak i rozróżnienie między danymi z pliku użytkownika a polityką systemu.

Powiązane artykuły