comparison mercurial/repoview.py @ 43449:c45195f9af0a

repoview: move changelog.rev() override to filteredchangelog Differential Revision: https://phab.mercurial-scm.org/D7243
author Martin von Zweigbergk <martinvonz@google.com>
date Tue, 05 Nov 2019 14:21:47 -0800
parents c31fa28d1843
children 6f3222bbfce0
comparison
equal deleted inserted replaced
43448:c31fa28d1843 43449:c45195f9af0a
9 from __future__ import absolute_import 9 from __future__ import absolute_import
10 10
11 import copy 11 import copy
12 import weakref 12 import weakref
13 13
14 from .node import nullrev 14 from .i18n import _
15 from .node import (
16 hex,
17 nullrev,
18 )
15 from .pycompat import ( 19 from .pycompat import (
16 delattr, 20 delattr,
17 getattr, 21 getattr,
18 setattr, 22 setattr,
19 ) 23 )
291 def strip(self, *args, **kwargs): 295 def strip(self, *args, **kwargs):
292 # XXX make something better than assert 296 # XXX make something better than assert
293 # We can't expect proper strip behavior if we are filtered. 297 # We can't expect proper strip behavior if we are filtered.
294 assert not self.filteredrevs 298 assert not self.filteredrevs
295 super(filteredchangelog, self).strip(*args, **kwargs) 299 super(filteredchangelog, self).strip(*args, **kwargs)
300
301 def rev(self, node):
302 """filtered version of revlog.rev"""
303 r = super(filteredchangelog, self).rev(node)
304 if r in self.filteredrevs:
305 raise error.FilteredLookupError(
306 hex(node), self.indexfile, _(b'filtered node')
307 )
308 return r
296 309
297 cl.__class__ = filteredchangelog 310 cl.__class__ = filteredchangelog
298 311
299 return cl 312 return cl
300 313