Mercurial > public > mercurial-scm > hg-stable
diff mercurial/httppeer.py @ 50478:315f537627c1
hidden: add support for --remote-hidden to HTTP peer
Test written by Pierre-Yves David.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Fri, 05 Apr 2019 01:17:15 +0200 |
parents | 3a2df812e1c7 |
children | 35b274cba81d |
line wrap: on
line diff
--- a/mercurial/httppeer.py Sat Apr 13 02:01:26 2019 +0200 +++ b/mercurial/httppeer.py Fri Apr 05 01:17:15 2019 +0200 @@ -108,7 +108,14 @@ def makev1commandrequest( - ui, requestbuilder, caps, capablefn, repobaseurl, cmd, args + ui, + requestbuilder, + caps, + capablefn, + repobaseurl, + cmd, + args, + remotehidden=False, ): """Make an HTTP request to run a command for a version 1 client. @@ -127,6 +134,8 @@ ui.debug(b"sending %s command\n" % cmd) q = [(b'cmd', cmd)] + if remotehidden: + q.append(('access-hidden', '1')) headersize = 0 # Important: don't use self.capable() here or else you end up # with infinite recursion when trying to look up capabilities @@ -385,18 +394,12 @@ self, ui, path, url, opener, requestbuilder, caps, remotehidden=False ): super().__init__(ui, path=path, remotehidden=remotehidden) - if remotehidden: - msg = _( - b"ignoring `--remote-hidden` request\n" - b"(access to hidden changeset for http peers not " - b"supported yet)\n" - ) - ui.warn(msg) self._url = url self._caps = caps self.limitedarguments = caps is not None and b'httppostargs' not in caps self._urlopener = opener self._requestbuilder = requestbuilder + self._remotehidden = remotehidden def __del__(self): for h in self._urlopener.handlers: @@ -451,6 +454,7 @@ self._url, cmd, args, + self._remotehidden, ) resp = sendrequest(self.ui, self._urlopener, req)