Mercurial > hg
changeset 41093:6498f0e03526
vfs: fix proxyvfs inheritance
The proxyvfs class is designed to overwrite some of the vfs logic. Yet, it did
not use normal class inheritance. This is becoming an issue as `abstractvfs`
method could take precedence over their `proxyvfs` version.
We fix the inheritance chain to be as expected.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 02 Jan 2019 10:29:12 +0100 |
parents | 9e593db5f1a1 |
children | adee334d94cd |
files | mercurial/store.py mercurial/vfs.py |
diffstat | 2 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/store.py Wed Dec 26 13:44:37 2018 +0100 +++ b/mercurial/store.py Wed Jan 02 10:29:12 2019 +0100 @@ -523,7 +523,7 @@ self._load() return iter(self.entries | self.addls) -class _fncachevfs(vfsmod.abstractvfs, vfsmod.proxyvfs): +class _fncachevfs(vfsmod.proxyvfs): def __init__(self, vfs, fnc, encode): vfsmod.proxyvfs.__init__(self, vfs) self.fncache = fnc
--- a/mercurial/vfs.py Wed Dec 26 13:44:37 2018 +0100 +++ b/mercurial/vfs.py Wed Jan 02 10:29:12 2019 +0100 @@ -469,7 +469,7 @@ opener = vfs -class proxyvfs(object): +class proxyvfs(abstractvfs): def __init__(self, vfs): self.vfs = vfs @@ -481,7 +481,7 @@ def options(self, value): self.vfs.options = value -class filtervfs(abstractvfs, proxyvfs): +class filtervfs(proxyvfs, abstractvfs): '''Wrapper vfs for filtering filenames with a function.''' def __init__(self, vfs, filter): @@ -499,7 +499,7 @@ filteropener = filtervfs -class readonlyvfs(abstractvfs, proxyvfs): +class readonlyvfs(proxyvfs): '''Wrapper vfs preventing any writing.''' def __init__(self, vfs):