diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -433,6 +433,9 @@ b'devel', b'debug.extensions', default=False, ) coreconfigitem( + b'devel', b'debug.repo-filters', default=False, +) +coreconfigitem( b'devel', b'debug.peer-request', default=False, ) coreconfigitem( diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -217,6 +217,9 @@ hidden-state and must be visible. They are dynamic and hence we should not cache it's result""" if filtername not in repo.filteredrevcache: + if repo.ui.configbool(b'devel', b'debug.repo-filters'): + msg = b'debug.filters: computing revision filter for "%s"\n' + repo.ui.debug(msg % filtername) func = filtertable[filtername] if visibilityexceptions: return func(repo.unfiltered, visibilityexceptions)