Mercurial > public > mercurial-scm > hg-stable
diff mercurial/error.py @ 48411:6a454e7053a1
errors: return more detailed errors when failing to parse or apply patch
This patch adds subclasses of `PatchError` so we can distinguish
between failure to parse a patch from failure to apply it. It updates
the callers to raise either `InputError` or `StateError` depending on
which type of error occurred.
Differential Revision: https://phab.mercurial-scm.org/D11824
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 19 Nov 2021 12:57:53 -0800 |
parents | 9de0823705b4 |
children | 6000f5b25c9b |
line wrap: on
line diff
--- a/mercurial/error.py Fri Nov 26 17:22:14 2021 +0100 +++ b/mercurial/error.py Fri Nov 19 12:57:53 2021 -0800 @@ -388,6 +388,14 @@ __bytes__ = _tobytes +class PatchParseError(PatchError): + __bytes__ = _tobytes + + +class PatchApplicationError(PatchError): + __bytes__ = _tobytes + + def getsimilar(symbols, value): # type: (Iterable[bytes], bytes) -> List[bytes] sim = lambda x: difflib.SequenceMatcher(None, value, x).ratio()