Show More
@@ -167,7 +167,7 b' class pathauditor(object):' | |||
|
167 | 167 | # want to add "foo/bar/baz" before checking if there's a "foo/.hg" |
|
168 | 168 | self.auditeddir.update(prefixes) |
|
169 | 169 | |
|
170 |
class abstract |
|
|
170 | class abstractvfs(object): | |
|
171 | 171 | """Abstract base class; cannot be instantiated""" |
|
172 | 172 | |
|
173 | 173 | def __init__(self, *args, **kwargs): |
@@ -219,8 +219,8 b' class abstractopener(object):' | |||
|
219 | 219 | def makedirs(self, path=None, mode=None): |
|
220 | 220 | return util.makedirs(self.join(path), mode) |
|
221 | 221 | |
|
222 |
class |
|
|
223 |
'''Ope |
|
|
222 | class vfs(abstractvfs): | |
|
223 | '''Operate files relative to a base directory | |
|
224 | 224 | |
|
225 | 225 | This class is used to hide the details of COW semantics and |
|
226 | 226 | remote file access from higher level code. |
@@ -335,8 +335,10 b' class opener(abstractopener):' | |||
|
335 | 335 | return path.startswith('/') and path or (self.basesep + path) |
|
336 | 336 | return self.base |
|
337 | 337 | |
|
338 | class filteropener(abstractopener): | |
|
339 | '''Wrapper opener for filtering filenames with a function.''' | |
|
338 | opener = vfs | |
|
339 | ||
|
340 | class filtervfs(abstractvfs): | |
|
341 | '''Wrapper vfs for filtering filenames with a function.''' | |
|
340 | 342 | |
|
341 | 343 | def __init__(self, opener, filter): |
|
342 | 344 | self._filter = filter |
@@ -345,6 +347,8 b' class filteropener(abstractopener):' | |||
|
345 | 347 | def __call__(self, path, *args, **kwargs): |
|
346 | 348 | return self._orig(self._filter(path), *args, **kwargs) |
|
347 | 349 | |
|
350 | filteropener = filtervfs | |
|
351 | ||
|
348 | 352 | def canonpath(root, cwd, myname, auditor=None): |
|
349 | 353 | '''return the canonical path of myname, given cwd and root''' |
|
350 | 354 | if util.endswithsep(root): |
@@ -64,7 +64,7 b' def build_opener(ui, authinfo):' | |||
|
64 | 64 | urlopener = url.opener(ui, authinfo) |
|
65 | 65 | urlopener.add_handler(byterange.HTTPRangeHandler()) |
|
66 | 66 | |
|
67 |
class statichttp |
|
|
67 | class statichttpvfs(scmutil.abstractvfs): | |
|
68 | 68 | def __init__(self, base): |
|
69 | 69 | self.base = base |
|
70 | 70 | |
@@ -74,7 +74,7 b' def build_opener(ui, authinfo):' | |||
|
74 | 74 | f = "/".join((self.base, urllib.quote(path))) |
|
75 | 75 | return httprangereader(f, urlopener) |
|
76 | 76 | |
|
77 |
return statichttp |
|
|
77 | return statichttpvfs | |
|
78 | 78 | |
|
79 | 79 | class statichttppeer(localrepo.localpeer): |
|
80 | 80 | def local(self): |
@@ -418,7 +418,7 b' class fncache(object):' | |||
|
418 | 418 | self._load() |
|
419 | 419 | return iter(self.entries) |
|
420 | 420 | |
|
421 |
class _fncache |
|
|
421 | class _fncachevfs(scmutil.abstractvfs): | |
|
422 | 422 | def __init__(self, op, fnc, encode): |
|
423 | 423 | self.opener = op |
|
424 | 424 | self.fncache = fnc |
@@ -451,7 +451,7 b' class fncachestore(basicstore):' | |||
|
451 | 451 | op.createmode = self.createmode |
|
452 | 452 | fnc = fncache(op) |
|
453 | 453 | self.fncache = fnc |
|
454 |
self.opener = _fncache |
|
|
454 | self.opener = _fncachevfs(op, fnc, encode) | |
|
455 | 455 | |
|
456 | 456 | def join(self, f): |
|
457 | 457 | return self.pathsep + self.encode(f) |
General Comments 0
You need to be logged in to leave comments.
Login now