interfaces: mark `completelocalrepository` as a Protocol class
This is just for completeness, since everything else in here is explicitly
marked. The *.pyi file generated for this module is unchanged, because this
class currently has no methods or attrs of its own (other than `__doc__`).
With this, the odyssey of converting the zope interfaces to Protocol classes is
complete. There's a little bit of mopping up in making sure the previously
converted Protocols use `@abc.abstractmethod` where appropriate, but that can be
deferred for now.
--- a/mercurial/interfaces/repository.py Wed Dec 11 17:56:53 2024 -0500
+++ b/mercurial/interfaces/repository.py Wed Dec 11 18:04:21 2024 -0500
@@ -2233,7 +2233,9 @@
class completelocalrepository(
- ilocalrepositorymain, ilocalrepositoryfilestorage
+ ilocalrepositorymain,
+ ilocalrepositoryfilestorage,
+ Protocol,
):
"""Complete interface for a local repository."""