395 The inheritance has to be done dynamically because `repo` can be of any |
395 The inheritance has to be done dynamically because `repo` can be of any |
396 subclasses of `localrepo`. Eg: `bundlerepo` or `statichttprepo`. |
396 subclasses of `localrepo`. Eg: `bundlerepo` or `statichttprepo`. |
397 """ |
397 """ |
398 |
398 |
399 def __init__(self, repo, filtername, visibilityexceptions=None): |
399 def __init__(self, repo, filtername, visibilityexceptions=None): |
|
400 if filtername is None: |
|
401 msg = "repoview should have a non-None filtername" |
|
402 raise error.ProgrammingError(msg) |
400 object.__setattr__(self, '_unfilteredrepo', repo) |
403 object.__setattr__(self, '_unfilteredrepo', repo) |
401 object.__setattr__(self, 'filtername', filtername) |
404 object.__setattr__(self, 'filtername', filtername) |
402 object.__setattr__(self, '_clcachekey', None) |
405 object.__setattr__(self, '_clcachekey', None) |
403 object.__setattr__(self, '_clcache', None) |
406 object.__setattr__(self, '_clcache', None) |
404 # revs which are exceptions and must not be hidden |
407 # revs which are exceptions and must not be hidden |