--- a/mercurial/localrepo.py Wed Aug 13 20:18:42 2008 -0500
+++ b/mercurial/localrepo.py Wed Aug 13 20:18:42 2008 -0500
@@ -60,7 +60,7 @@
if inst.errno != errno.ENOENT:
raise
- self.store = store.store(requirements, self.path)
+ self.store = store.store(requirements, self.path, util.opener)
self.spath = self.store.path
self.sopener = self.store.opener
self.sjoin = self.store.join
--- 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)