changeset 32201:4462a981e8df

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.
author Yuya Nishihara <yuya@tcha.org>
date Wed, 26 Apr 2017 21:56:47 +0900
parents 2d84947cd85d
children ded48ad55146
files mercurial/exchange.py mercurial/mdiff.py mercurial/obsolete.py mercurial/patch.py mercurial/pvec.py mercurial/util.py
diffstat 6 files changed, 11 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- 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:
--- 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)
--- 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')
--- 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)))
--- 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)
 
--- 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