statichttp: use store class
authorMatt Mackall <mpm@selenic.com>
Wed, 13 Aug 2008 20:18:43 -0500
changeset 6897 faea0d27e38f
parent 6896 40690d614ce6
child 6898 69aeaaaf6e07
statichttp: use store class This lets us nix store.encodefn.
mercurial/statichttprepo.py
mercurial/store.py
--- a/mercurial/statichttprepo.py	Wed Aug 13 20:18:42 2008 -0500
+++ b/mercurial/statichttprepo.py	Wed Aug 13 20:18:43 2008 -0500
@@ -54,14 +54,10 @@
                 raise repo.RepoError(_("requirement '%s' not supported") % r)
 
         # setup store
-        if "store" in requirements:
-            self.spath = self.path + "/store"
-        else:
-            self.spath = self.path
-        self.encodefn = store.encodefn(requirements)
-        so = opener(self.spath)
-        self.sopener = lambda path, *args, **kw: so(
-            self.encodefn(path), *args, **kw)
+        self.store = store.store(requirements, self.path, opener)
+        self.spath = self.store.path
+        self.sopener = self.store.opener
+        self.sjoin = self.store.join
 
         self.manifest = manifest.manifest(self.sopener)
         self.changelog = changelog.changelog(self.sopener)
--- a/mercurial/store.py	Wed Aug 13 20:18:42 2008 -0500
+++ b/mercurial/store.py	Wed Aug 13 20:18:43 2008 -0500
@@ -119,12 +119,6 @@
     def join(self, f):
         return os.path.join(self.path, self.encodefn(f))
 
-def encodefn(requirements):
-    if 'store' not in requirements:
-        return lambda x: x
-    else:
-        return encodefilename
-
 def store(requirements, path, opener):
     if 'store' not in requirements:
         return directstore(path, opener)