diff -r afb27fc92717 -r 45c7bada5200 mercurial/commands.py --- a/mercurial/commands.py Sat Apr 13 03:44:47 2019 +0200 +++ b/mercurial/commands.py Sat Apr 13 03:44:55 2019 +0200 @@ -69,6 +69,7 @@ ) from .utils import ( dateutil, + procutil, stringutil, urlutil, ) @@ -6672,7 +6673,25 @@ raise error.RepoError( _(b"there is no Mercurial repository here (.hg not found)") ) - s = wireprotoserver.sshserver(ui, repo) + accesshidden = False + if repo.filtername is None: + allow = ui.configlist( + b'experimental', b'server.allow-hidden-access' + ) + user = procutil.getuser() + if allow and scmutil.ismember(ui, user, allow): + accesshidden = True + else: + msg = ( + _( + b'ignoring request to access hidden changeset by ' + b'unauthorized user: %s\n' + ) + % user + ) + ui.warn(msg) + + s = wireprotoserver.sshserver(ui, repo, accesshidden=accesshidden) s.serve_forever() return