diff options
Diffstat (limited to 'git')
-rw-r--r-- | git/config.py | 11 | ||||
-rw-r--r-- | git/util.py | 6 |
2 files changed, 10 insertions, 7 deletions
diff --git a/git/config.py b/git/config.py index 293281d2..cf32d4ba 100644 --- a/git/config.py +++ b/git/config.py @@ -710,14 +710,13 @@ class GitConfigParser(cp.RawConfigParser, metaclass=MetaParserBuilder): return self._read_only @overload - def get_value(self, section: str, option: str, default: str - ) -> str: - ... + def get_value(self, section: str, option: str, default: None = None) -> Union[int, float, str, bool]: ... @overload - def get_value(self, section: str, option: str, default: float - ) -> float: - ... + def get_value(self, section: str, option: str, default: str) -> str: ... + + @overload + def get_value(self, section: str, option: str, default: float) -> float: ... def get_value(self, section: str, option: str, default: Union[int, float, str, bool, None] = None ) -> Union[int, float, str, bool]: diff --git a/git/util.py b/git/util.py index 4f82219e..b81332ea 100644 --- a/git/util.py +++ b/git/util.py @@ -705,7 +705,11 @@ class Actor(object): setattr(actor, attr, val) except KeyError: if config_reader is not None: - setattr(actor, attr, config_reader.get_value('user', cvar, default())) + try: + val = config_reader.get('user', cvar) + except Exception: + val = default() + setattr(actor, attr, val) # END config-reader handling if not getattr(actor, attr): setattr(actor, attr, default()) |