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-allowhidden': '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 @@ -85,6 +85,14 @@ assert not repo.changelog.filteredrevs return _computeperfiltername(repo, 'visible') +def computewarnhidden(repo): + assert not repo.changelog.filteredrevs + return _computeperfiltername(repo, 'visible-warnhidden') + +def computeallowhidden(repo): + assert not repo.changelog.filteredrevs + return _computeperfiltername(repo, 'visible-allowhidden') + def computeunserved(repo): """compute the set of revision that should be filtered when used a server @@ -144,6 +152,8 @@ # Otherwise your filter will have to recompute all its branches cache # from scratch (very slow). filtertable = {'visible': computehidden, + 'visible-warnhidden': computewarnhidden, + 'visible-allowhidden': computeallowhidden, 'served': computeunserved, 'immutable': computemutable, 'base': computeimpactable}