diff -r e4ccd7a69f77 -r a463f375f021 mercurial/httppeer.py --- a/mercurial/httppeer.py Thu Feb 01 19:32:42 2018 -0800 +++ b/mercurial/httppeer.py Mon Feb 12 17:10:58 2018 -0800 @@ -221,13 +221,9 @@ # Begin of _basewirepeer interface. def capabilities(self): - if self._caps is None: - try: - self._fetchcaps() - except error.RepoError: - self._caps = set() - self.ui.debug('capabilities: %s\n' % - (' '.join(self._caps or ['none']))) + # self._fetchcaps() should have been called as part of peer + # handshake. So self._caps should always be set. + assert self._caps is not None return self._caps # End of _basewirepeer interface.