# HG changeset patch # User Pierre-Yves David # Date 1413417764 25200 # Node ID f00813325c5ad971fb351e5b5ae9db43f7e7b3e3 # Parent b50ed6b9b5133e129776af8c7ab7fd5d854e41f2 repoview: add a FilteredIndexError class This exception is a more precise IndexError that will allow us to issue a special message when we end up accessing a filtered revision. diff -r b50ed6b9b513 -r f00813325c5a mercurial/changelog.py --- a/mercurial/changelog.py Wed Oct 15 16:14:50 2014 -0700 +++ b/mercurial/changelog.py Wed Oct 15 17:02:44 2014 -0700 @@ -196,25 +196,25 @@ def node(self, rev): """filtered version of revlog.node""" if rev in self.filteredrevs: - raise IndexError(rev) + raise error.FilteredIndexError(rev) return super(changelog, self).node(rev) def linkrev(self, rev): """filtered version of revlog.linkrev""" if rev in self.filteredrevs: - raise IndexError(rev) + raise error.FilteredIndexError(rev) return super(changelog, self).linkrev(rev) def parentrevs(self, rev): """filtered version of revlog.parentrevs""" if rev in self.filteredrevs: - raise IndexError(rev) + raise error.FilteredIndexError(rev) return super(changelog, self).parentrevs(rev) def flags(self, rev): """filtered version of revlog.flags""" if rev in self.filteredrevs: - raise IndexError(rev) + raise error.FilteredIndexError(rev) return super(changelog, self).flags(rev) def delayupdate(self): diff -r b50ed6b9b513 -r f00813325c5a mercurial/error.py --- a/mercurial/error.py Wed Oct 15 16:14:50 2014 -0700 +++ b/mercurial/error.py Wed Oct 15 17:02:44 2014 -0700 @@ -16,6 +16,9 @@ class RevlogError(Exception): pass +class FilteredIndexError(IndexError): + pass + class LookupError(RevlogError, KeyError): def __init__(self, name, index, message): self.name = name