# HG changeset patch # User Yuya Nishihara # Date 1504424733 -32400 # Node ID 61714510220dace22e16ab4e958ce5ed2ec06232 # Parent 448725a2ef7356524bcc9638a5c5eaaf59f263af error: move patch.PatchError so it can easily implement __bytes__ (API) diff -r 448725a2ef73 -r 61714510220d mercurial/cmdutil.py --- a/mercurial/cmdutil.py Fri Sep 15 00:01:57 2017 -0700 +++ b/mercurial/cmdutil.py Sun Sep 03 16:45:33 2017 +0900 @@ -278,7 +278,7 @@ # 1. filter patch, since we are intending to apply subset of it try: chunks, newopts = filterfn(ui, originalchunks) - except patch.PatchError as err: + except error.PatchError as err: raise error.Abort(_('error parsing patch: %s') % err) opts.update(newopts) @@ -360,7 +360,7 @@ ui.debug('applying patch\n') ui.debug(fp.getvalue()) patch.internalpatch(ui, repo, fp, 1, eolmode=None) - except patch.PatchError as err: + except error.PatchError as err: raise error.Abort(str(err)) del fp @@ -1334,7 +1334,7 @@ try: patch.patch(ui, repo, tmpname, strip=strip, prefix=prefix, files=files, eolmode=None, similarity=sim / 100.0) - except patch.PatchError as e: + except error.PatchError as e: if not partial: raise error.Abort(str(e)) if partial: @@ -1380,7 +1380,7 @@ try: patch.patchrepo(ui, repo, p1, store, tmpname, strip, prefix, files, eolmode=None) - except patch.PatchError as e: + except error.PatchError as e: raise error.Abort(str(e)) if opts.get('exact'): editor = None @@ -3729,7 +3729,7 @@ if reversehunks: chunks = patch.reversehunks(chunks) - except patch.PatchError as err: + except error.PatchError as err: raise error.Abort(_('error parsing patch: %s') % err) newlyaddedandmodifiedfiles = newandmodified(chunks, originalchunks) @@ -3751,7 +3751,7 @@ if dopatch: try: patch.internalpatch(repo.ui, repo, fp, 1, eolmode=None) - except patch.PatchError as err: + except error.PatchError as err: raise error.Abort(str(err)) del fp else: diff -r 448725a2ef73 -r 61714510220d mercurial/error.py --- a/mercurial/error.py Fri Sep 15 00:01:57 2017 -0700 +++ b/mercurial/error.py Sun Sep 03 16:45:33 2017 +0900 @@ -115,6 +115,9 @@ """Raised when parsing config files and {rev,file}sets (msg[, pos])""" __bytes__ = _tobytes +class PatchError(Exception): + __bytes__ = _tobytes + class UnknownIdentifier(ParseError): """Exception raised when a {rev,file}set references an unknown identifier""" diff -r 448725a2ef73 -r 61714510220d mercurial/patch.py --- a/mercurial/patch.py Fri Sep 15 00:01:57 2017 -0700 +++ b/mercurial/patch.py Sun Sep 03 16:45:33 2017 +0900 @@ -46,9 +46,7 @@ gitre = re.compile(br'diff --git a/(.*) b/(.*)') tabsplitter = re.compile(br'(\t+|[^\t]+)') -class PatchError(Exception): - pass - +PatchError = error.PatchError # public functions diff -r 448725a2ef73 -r 61714510220d tests/test-transplant.t --- a/tests/test-transplant.t Fri Sep 15 00:01:57 2017 -0700 +++ b/tests/test-transplant.t Sun Sep 03 16:45:33 2017 +0900 @@ -884,7 +884,7 @@ $ cat > $TESTTMP/abort.py < # emulate that patch.patch() is aborted at patching on "abort" file - > from mercurial import extensions, patch as patchmod + > from mercurial import error, extensions, patch as patchmod > def patch(orig, ui, repo, patchname, > strip=1, prefix='', files=None, > eolmode='strict', similarity=0): @@ -894,7 +894,7 @@ > strip=strip, prefix=prefix, files=files, > eolmode=eolmode, similarity=similarity) > if 'abort' in files: - > raise patchmod.PatchError('intentional error while patching') + > raise error.PatchError('intentional error while patching') > return r > def extsetup(ui): > extensions.wrapfunction(patchmod, 'patch', patch)