# HG changeset patch # User Pierre-Yves David # Date 2012-12-17 16:12:02 # Node ID 3c7b67b7619040bd01368633ea09e91628fde830 # Parent a464deecc9dd32176a1f8faf1cc48236268f3c2a clfilter: introduce a "unserver" filtering mode This mode is for repository used as a server. It filter secret and hidden changeset out. It is put to use in later changeset. diff --git a/mercurial/repoview.py b/mercurial/repoview.py --- a/mercurial/repoview.py +++ b/mercurial/repoview.py @@ -7,9 +7,20 @@ # GNU General Public License version 2 or any later version. import copy +import phases + +def computeunserved(repo): + """compute the set of revision that should be filtered when used a server + + Secret and hidden changeset should not pretend to be here.""" + assert not repo.changelog.filteredrevs + # fast path in simple case to avoid impact of non optimised code + if phases.hassecret(repo) or repo.obsstore: + return frozenset(repo.revs('hidden() + secret()')) + return () # function to compute filtered set -filtertable = {} +filtertable = {'unserved': computeunserved} def filteredrevs(repo, filtername): """returns set of filtered revision for this filter name"""