# HG changeset patch # User Yuya Nishihara # Date 1493211407 -32400 # Node ID 4462a981e8df8046e4c49aeb02d501cd192607b0 # Parent 2d84947cd85d820ff77b2f49ad12b95186497f6e base85: proxy through util module I'm going to replace hgimporter with a simpler import function, so we can access to pure/cext modules by name: # util.py base85 = policy.importmod('base85') # select pure.base85 or cext.base85 # cffi/base85.py from ..pure.base85 import * # may re-export pure.base85 functions This means we'll have to use policy.importmod() function in place of the standard import statement, but we wouldn't want to write it every place where C extension modules are used. So this patch makes util host base85 functions. diff -r 2d84947cd85d -r 4462a981e8df mercurial/exchange.py --- a/mercurial/exchange.py Tue May 02 17:05:22 2017 +0900 +++ b/mercurial/exchange.py Wed Apr 26 21:56:47 2017 +0900 @@ -16,7 +16,6 @@ nullid, ) from . import ( - base85, bookmarks as bookmod, bundle2, changegroup, @@ -1509,7 +1508,7 @@ markers = [] for key in sorted(remoteobs, reverse=True): if key.startswith('dump'): - data = base85.b85decode(remoteobs[key]) + data = util.b85decode(remoteobs[key]) version, newmarks = obsolete._readmarkers(data) markers += newmarks if markers: diff -r 2d84947cd85d -r 4462a981e8df mercurial/mdiff.py --- a/mercurial/mdiff.py Tue May 02 17:05:22 2017 +0900 +++ b/mercurial/mdiff.py Wed Apr 26 21:56:47 2017 +0900 @@ -13,7 +13,6 @@ from .i18n import _ from . import ( - base85, bdiff, error, mpatch, @@ -430,7 +429,7 @@ l = chr(ord('A') + l - 1) else: l = chr(l - 26 + ord('a') - 1) - return '%c%s\n' % (l, base85.b85encode(line, True)) + return '%c%s\n' % (l, util.b85encode(line, True)) def chunk(text, csize=52): l = len(text) diff -r 2d84947cd85d -r 4462a981e8df mercurial/obsolete.py --- a/mercurial/obsolete.py Tue May 02 17:05:22 2017 +0900 +++ b/mercurial/obsolete.py Wed Apr 26 21:56:47 2017 +0900 @@ -74,7 +74,6 @@ from .i18n import _ from . import ( - base85, error, node, parsers, @@ -744,7 +743,7 @@ currentlen += len(nextdata) for idx, part in enumerate(reversed(parts)): data = ''.join([_pack('>B', _fm0version)] + part) - keys['dump%i' % idx] = base85.b85encode(data) + keys['dump%i' % idx] = util.b85encode(data) return keys def listmarkers(repo): @@ -761,7 +760,7 @@ if old: repo.ui.warn(_('unexpected old value for %r') % key) return 0 - data = base85.b85decode(new) + data = util.b85decode(new) lock = repo.lock() try: tr = repo.transaction('pushkey: obsolete markers') diff -r 2d84947cd85d -r 4462a981e8df mercurial/patch.py --- a/mercurial/patch.py Tue May 02 17:05:22 2017 +0900 +++ b/mercurial/patch.py Wed Apr 26 21:56:47 2017 +0900 @@ -26,7 +26,6 @@ short, ) from . import ( - base85, copies, diffhelpers, encoding, @@ -1430,7 +1429,7 @@ else: l = ord(l) - ord('a') + 27 try: - dec.append(base85.b85decode(line[1:])[:l]) + dec.append(util.b85decode(line[1:])[:l]) except ValueError as e: raise PatchError(_('could not decode "%s" binary patch: %s') % (self._fname, str(e))) diff -r 2d84947cd85d -r 4462a981e8df mercurial/pvec.py --- a/mercurial/pvec.py Tue May 02 17:05:22 2017 +0900 +++ b/mercurial/pvec.py Wed Apr 26 21:56:47 2017 +0900 @@ -52,7 +52,6 @@ from .node import nullrev from . import ( - base85, util, ) @@ -166,13 +165,13 @@ else: pvc[n] = _mergevec(pvc[p1], pvc[p2], node) bs = _join(*pvc[ctx.rev()]) - return pvec(base85.b85encode(bs)) + return pvec(util.b85encode(bs)) class pvec(object): def __init__(self, hashorctx): if isinstance(hashorctx, str): self._bs = hashorctx - self._depth, self._vec = _split(base85.b85decode(hashorctx)) + self._depth, self._vec = _split(util.b85decode(hashorctx)) else: self._vec = ctxpvec(hashorctx) diff -r 2d84947cd85d -r 4462a981e8df mercurial/util.py --- a/mercurial/util.py Tue May 02 17:05:22 2017 +0900 +++ b/mercurial/util.py Wed Apr 26 21:56:47 2017 +0900 @@ -42,6 +42,7 @@ import zlib from . import ( + base85, encoding, error, i18n, @@ -50,6 +51,9 @@ pycompat, ) +b85decode = base85.b85decode +b85encode = base85.b85encode + cookielib = pycompat.cookielib empty = pycompat.empty httplib = pycompat.httplib