mercurial/store.py
changeset 6896 40690d614ce6
parent 6892 dab95717058d
child 6897 faea0d27e38f
--- a/mercurial/store.py	Wed Aug 13 20:18:42 2008 -0500
+++ b/mercurial/store.py	Wed Aug 13 20:18:42 2008 -0500
@@ -94,16 +94,16 @@
             yield x
 
 class directstore(_store):
-    def __init__(self, path):
+    def __init__(self, path, opener):
         _store.__init__(self, path)
-        self.opener = util.opener(self.path)
+        self.opener = opener(self.path)
         self.opener.createmode = self.createmode
 
 class encodedstore(_store):
-    def __init__(self, path):
+    def __init__(self, path, opener):
         _store.__init__(self, os.path.join(path, 'store'))
         self.encodefn = encodefilename
-        op = util.opener(self.path)
+        op = opener(self.path)
         op.createmode = self.createmode
         self.opener = lambda f, *args, **kw: op(self.encodefn(f), *args, **kw)
 
@@ -125,8 +125,8 @@
     else:
         return encodefilename
 
-def store(requirements, path):
+def store(requirements, path, opener):
     if 'store' not in requirements:
-        return directstore(path)
+        return directstore(path, opener)
     else:
-        return encodedstore(path)
+        return encodedstore(path, opener)