Mercurial > hg
comparison mercurial/error.py @ 48363: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 |
comparison
equal
deleted
inserted
replaced
48362:7e6488aa1261 | 48363:6a454e7053a1 |
---|---|
383 message += _(b"(%s)\n") % self.hint | 383 message += _(b"(%s)\n") % self.hint |
384 return message | 384 return message |
385 | 385 |
386 | 386 |
387 class PatchError(Exception): | 387 class PatchError(Exception): |
388 __bytes__ = _tobytes | |
389 | |
390 | |
391 class PatchParseError(PatchError): | |
392 __bytes__ = _tobytes | |
393 | |
394 | |
395 class PatchApplicationError(PatchError): | |
388 __bytes__ = _tobytes | 396 __bytes__ = _tobytes |
389 | 397 |
390 | 398 |
391 def getsimilar(symbols, value): | 399 def getsimilar(symbols, value): |
392 # type: (Iterable[bytes], bytes) -> List[bytes] | 400 # type: (Iterable[bytes], bytes) -> List[bytes] |