[PATCH 1 of 2] store: extract functions _encodefname and _decodefname

Adrian Buehlmann adrian at cadifra.com
Tue Sep 18 15:03:23 CDT 2012


# HG changeset patch
# User Adrian Buehlmann <adrian at cadifra.com>
# Date 1347990708 -7200
# Node ID 4a376bb49e43372065664d6141c15a70a79f0dd2
# Parent  cdee8f3dbc57a4ad0781d307f7358544d1140da3
store: extract functions _encodefname and _decodefname

diff --git a/mercurial/store.py b/mercurial/store.py
--- a/mercurial/store.py
+++ b/mercurial/store.py
@@ -93,10 +93,24 @@
                     pass
             else:
                 raise KeyError
-    return (lambda s: "".join([cmap[c] for c in encodedir(s)]),
-            lambda s: decodedir("".join(list(decode(s)))))
+    return (lambda s: ''.join([cmap[c] for c in s]),
+            lambda s: ''.join(list(decode(s))))
 
-encodefilename, decodefilename = _buildencodefun()
+_encodefname, _decodefname = _buildencodefun()
+
+def encodefilename(s):
+    '''
+    >>> encodefilename('foo.i/bar.d/bla.hg/hi:world?/HELLO')
+    'foo.i.hg/bar.d.hg/bla.hg.hg/hi~3aworld~3f/_h_e_l_l_o'
+    '''
+    return _encodefname(encodedir(s))
+
+def decodefilename(s):
+    '''
+    >>> decodefilename('foo.i.hg/bar.d.hg/bla.hg.hg/hi~3aworld~3f/_h_e_l_l_o')
+    'foo.i/bar.d/bla.hg/hi:world?/HELLO'
+    '''
+    return decodedir(_decodefname(s))
 
 def _buildlowerencodefun():
     '''


More information about the Mercurial-devel mailing list