Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 52520:1554bd50a1af
interfaces: move peer `capabilities()` to the `ipeercapabilities` interface
I'm not sure why this was on the `ipeercommands` interface. It appears to be
because these interfaces started out as `_basewirecommands` to hold wire
commands, back in 558f5b2ee10e. The capabilities interface wasn't split out
until 98861a2298b5, when it pulled the capability related methods off of the
`ipeerbase` interface. Perhaps it was an oversight to not look at the commands
interface because, while this is a wire command, both `sshpeer` and `httppeer`
now perform a handshake while instantiating the peer object, and cache a fixed
list of capabilities in that object. Likewise, `localpeer` is given a fixed set
of capabilities when instantiated. Back in 558f5b2ee10e, `httppeer` looks like
it issued a wire command when this method was called, but `sshpeer` obtained and
cached the capabilities when instantiated, and this method always returned a
fixed value.
There's a perfectly good interface with other capability related methods, and
having it here makes it easier to implement the base `peer` mixin class.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 16 Dec 2024 02:41:24 -0500 |
parents | e123c8a26a70 |
children | b52f2b365eff |
comparison
equal
deleted
inserted
replaced
52519:5cf81d8d7de1 | 52520:1554bd50a1af |
---|---|
337 def close(self): | 337 def close(self): |
338 self._repo.close() | 338 self._repo.close() |
339 | 339 |
340 # End of _basepeer interface. | 340 # End of _basepeer interface. |
341 | 341 |
342 # Begin of ipeercapabilities interface. | |
343 | |
344 def capabilities(self): | |
345 return self._caps | |
346 | |
347 # End of ipeercapabilities interface. | |
348 | |
342 # Begin of _basewirecommands interface. | 349 # Begin of _basewirecommands interface. |
343 | 350 |
344 def branchmap(self): | 351 def branchmap(self): |
345 return self._repo.branchmap() | 352 return self._repo.branchmap() |
346 | |
347 def capabilities(self): | |
348 return self._caps | |
349 | 353 |
350 def get_cached_bundle_inline(self, path): | 354 def get_cached_bundle_inline(self, path): |
351 # not needed with local peer | 355 # not needed with local peer |
352 raise NotImplementedError | 356 raise NotImplementedError |
353 | 357 |