diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -86,7 +86,9 @@
 subsettable = {None: 'visible',
                'visible': 'served',
                'served': 'immutable',
-               'immutable': 'base'}
+               'immutable': 'base',
+               'visible-warnhidden': 'visible',
+               'visible-hidden': 'visible'}
 
 def updatecache(repo):
     cl = repo.changelog
diff --git a/mercurial/repoview.py b/mercurial/repoview.py
--- a/mercurial/repoview.py
+++ b/mercurial/repoview.py
@@ -139,6 +139,8 @@
 # Otherwise your filter will have to recompute all its branches cache
 # from scratch (very slow).
 filtertable = {'visible': computehidden,
+               'visible-warnhidden': computehidden,
+               'visible-hidden': computehidden,
                'served': computeunserved,
                'immutable':  computemutable,
                'base':  computeimpactable}